1. 程式人生 > >asp.net頁面顯示word文件內容

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

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

補充說明:

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

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

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

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