在實際開發過程中,經常會遇到在頁面上直接顯示word文檔的內容,當然這裏僅僅涉及到查看文檔內容,不涉及修改和保存操作,這裏是利用Office的COM組件,將word文檔轉換程html格式後顯示在頁面中,html頁面中顯示的風格幾乎跟word內容一致。
補充說明:
代碼中使用了類庫dll文件,及操作的DM類,這裏提供下載dll的地址:http://d.download.csdn.net/down/3499114/taomanman
using System;
using System.Configuration;
using System.Data;
namespace USTC
{
/// <summary>
/// 連接sql數據庫。
/// </summary>
public class DM
{
public USTC.SqlDbc db;
public DM()
{
//
// TODO: 在此處添加構造函數邏輯
//
db = new USTC.SqlDbc(ConfigurationSettings.AppSettings["ConnectionString"]);
//db.open(ConfigurationSettings.AppSettings["ConnectionString"]);
}
public USTC.SqlDbc getDataBase()
{
return db;
}
public DataSet getTable(string tablename)
{
db.open();
string tmpstr = "select * from " + tablename;
DataSet result = (DataSet)db.getData(tmpstr, false);
db.close();
return result;
}
public void deleteTable(string tablename)
{
db.open();
string tmpstr = "drop table " + tablename;
db.getData(tmpstr, false);
db.close();
}
public int execsql1(string sql)
{
db.open();
int result = (int)db.getData(sql, false);
db.close();
return result;
}
public void execsql(string sql)
{
db.open();
db.getData(sql, false);
db.close();
}
public DataSet getsql(string sql)
{
db.open();
DataSet result = (DataSet)db.getData(sql, false);
db.close();
return result;
}
public static string Database2String(object data, int bz, string format)
{
string data1 = data.ToString();
switch (bz)
{
case 1: //數字
double d = 0;
data1 = (double.TryParse(data1, out d) ? d.ToString(format) : "");
break;
case 2://日期
DateTime dt = DateTime.Now;
data1 = (DateTime.TryParse(data1, out dt) ? dt.ToString(format) : "");
break;
default://字符串
break;
}
return data1;
}
public static string Database2String(object data, int bz)
{
switch (bz)
{
case 1: //數字
return Database2String(data, bz, "");
case 2://日期
return Database2String(data, bz, "yyyy-MM-dd");
default://字符串
return Database2String(data, bz, "");
}
}
public static DateTime Database2String(string date)
{
DateTime dt = Convert.ToDateTime(date);
string time = dt.ToString("yyyy-MM-dd");
DateTime dt1 = Convert.ToDateTime(time);
return dt1;
}
}
}
這裏介紹一種可行的方案:
1、首先在項目引用中添加如下引用:
2、假如在項目根目錄下有一個專門的文件夾,譬如叫UpLoad的文件夾,專門用來存放上傳上來的Word文檔,這裏是在數據庫中保存有文件名的文件存放目錄。
3、新建一個Default.aspx頁面,用於模擬參數傳遞
4、在CountyTown.aspx頁面中接受參數並做word轉html處理並顯示html頁面
5、經過如上處理以後,在Word所在位置會生成一個文件夾和一個同名的html文件,我們要顯示的就是這個html的內容,如下圖
6、大功告成,看一下效果圖:
點擊按鈕以後,可以查看Word文檔轉換程html後的內容了,如下圖
基本上可以滿足一般的查看需求了,簡陋之篇,歡迎拍磚,共同探討,共同進步。
===========================================================================
如果覺得對您有幫助,微信掃一掃支持一下: