原創說明內容如下:
在vs環境下選擇office元件時要在引用的com元件中選擇,不能選擇.net元件中的office元件。
以上說明為重點,vs2008在.net元件組中也有office元件部分的內容,那樣的話就只能在開發環境下使用了。
using system;
using system.data;
using system.drawing;
using system.data.sqlclient;
using excel;
using word;
using system.io;
namespace common
///
/// 獲得資料集dataset--------------------------------用於除錯
///
/// dataset
///
/// 把資料檔案匯入到.xls檔案
///
///
public void exporttoexcel(dataset ds)
catch
//讓生成的excel檔案可見
myexcel.visible = true;
}catch(exception e)
}else
}///
/// 把資料匯入到.doc檔案
///
///
public void exporttoword(dataset ds)
catch(exception ex)
}else
}///
/// 把檔案匯入到.doc檔案
///
///
public void exporttoword(bitmap bp)
catch
trycatch
trycatch
//讓生成的word檔案可見
myword.visible = true;
}///
/// 把資料檔案匯入到.txt檔案
///
///
public void exporttotxt(dataset ds)
catch
//把dataset中的資料寫入.txt檔案中
for(int totaltable = 0;totaltable//統計dataset中當前表的列數
int column = ds.tables[totaltable].columns.count;
//用於統計當前表中每列記錄中字元數最長的字串的長度之和
int totallength = 0;
//用於統計標題的長度(dataset中的表名的length+"表的資料如下"的length)
int titlelength = 0;
//統計每列記錄中字元數最長的字串的長度
int columnlength = new int[column];
for(int i = 0;icolumnlength[j])}}
//統計當前表中每列記錄中字元數最長的字串的長度之和
for(int i = 0;i//統計標題的長度(dataset中的當前表名的length+"表的資料如下"的length)
titlelength = ds.tables[totaltable].tablename.tostring().length+"表的資料如下".length*2;
//把標題寫入.txt檔案中
for(int i = 0;i<(int)((totallength-titlelength)/2);i++)
textfile.write(ds.tables[totaltable].tablename+"表的資料如下");
textfile.writeline();
for(int i = 0;i//把dataset中當前表的欄位名寫入.txt檔案中
for(int i = 0;i//把dataset中當前表的資料寫入.txt檔案中
for(int i = 0;i//關閉當前的streamwriter流
textfile.close();
system.windows.forms.messagebox.show("資料檔案已儲存到"+" "+file.fullname);
}else
}public string gettempfilename()}}
補充:使用以上方法必須對dcom進行配置,給使用者使用office的許可權。
具體配置方法如下:
1:在伺服器上安裝office的excel軟體.
2:在"開始"->"執行"中輸入dcomcnfg.exe啟動"元件服務"
3:依次雙擊"元件服務"->"計算機"->"我的電腦"->"dcom配置"
4:在"dcom配置"中找到"microsoft excel 應用程式",在它上面點選右鍵,然後點選"屬性",彈出"microsoft excel 應用程式屬性"對話方塊
5:點選"標識"標籤,選擇"互動式使用者"
6:點選"安全"標籤,在"啟動和啟用許可權"上點選"自定義",然後點選對應的"編輯"按鈕,在彈出的"安全性"對話方塊中填加乙個"network service"使用者(注意要選擇本計算機名),並給它賦予"本地啟動"和"本地啟用"許可權.
7:依然是"安全"標籤,在"訪問許可權"上點選"自定義",然後點選"編輯",在彈出的"安全性"對話方塊中也填加乙個"network service"使用者,然後賦予"本地訪問"許可權.
這樣,我們便配置好了相應的excel的dcom許可權.
注意:我是在win2003上配置的,在2000上,是配置aspnet使用者
若不進行配置會出現錯誤
檢索 com 類工廠中 clsid 為 的元件時失敗,原因是出現以下錯誤: 80070005。
原因是使用者沒有使用excel的許可權。
匯出到word同樣要配置使用word的許可權。
繼續補充: 匯出到txt我用了上面的方法有問題,
try
catch
總是在這裡跳到catch裡面。匯出到word,excel都能用,繼續研究txt的使用方法
文章出處:
從資料庫匯出資料到word excel txt
獲得資料集dataset 用於除錯 dataset 把資料檔案匯入到.xls檔案 public void exporttoexcel dataset ds catch 讓生成的excel檔案可見 myexcel.visible true catch exception e else 把資料匯入到.d...
從資料庫中匯出資料
首先開啟xp cmdshell許可權 exec sp configure show advanced options 1 reconfigure exec sp configure xp cmdshell 1 reconfigure 1,匯出資料到txt exec master.xp cmdshel...
從資料庫匯出資料到excel之List 匯出
說明 有時候資料處理為list 更方便 姊妹篇 從資料庫匯出資料到excel之list 匯出 兄弟篇 從資料庫匯出資料到excel之poi操作 專案說明見兄弟篇 資料層和業務層 不多說,因專案而異,處理後的資料為list 說明 object也一樣 控制層 list order export.expo...