asp.net頁面顯示word文檔內容

在實際開發過程中,經常會遇到在頁面上直接顯示word文檔的內容,當然這裏僅僅涉及到查看文檔內容,不涉及修改和保存操作,這裏是利用Office的COM組件,將word文檔轉換程html格式後顯示在頁面中,html頁面中顯示的風格幾乎跟word內容一致。

補充說明:

代碼中使用了類庫dll文件,及操作的DM類,這裏提供下載dll的地址:http://d.download.csdn.net/down/3499114/taomanman

和DM.cs類得代碼,放在App_Code目錄下即可。

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後的內容了,如下圖

 

 

基本上可以滿足一般的查看需求了,簡陋之篇,歡迎拍磚,共同探討,共同進步。


===========================================================================

如果覺得對您有幫助,微信掃一掃支持一下:



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章