2012-07-27 203 views
0

我在C#中有3個分隔的數據表我想導出到單個Excel工作簿,每個工作表位於不同的工作表上。是否有捷徑可尋?我想過把表格添加到單個數據集中,但這似乎不可能。我編寫了一個方法,可以將單個數據錶轉換爲csv文件,但不適用於多個表。謝謝!將C#中的3個數據表導出到Excel工作簿

我使用的第一個環節,它的創建一個Excel,但隨後崩潰的原因有兩個: 它調整的列的方式沒有奏效:

// Resize the columns 
oRange = oSheet.get_Range(oSheet.Cells[1, 1], 
    oSheet.Cells[rowCount, dt.Columns.Count]); 

我加入這使第二表,它不工作:

Excel.Worksheet sheet2; 
oWB.Sheets.Add(name[1], Type.Missing, Type.Missing, Type.Missing); 
sheet2 = (Excel.Worksheet)oWB.Sheets[1]; 

我可以找出如何修復我的代碼,並添加另一個表,但沒有人知道爲什麼調整列寬不工作?

+0

「沒有工作」非常模糊 - 發生了什麼而不是工作?你有錯誤信息嗎?如果這樣,那是什麼?你在這裏有一個錯字'Excel.Worksheet sheet 2'(額外的空間)。 'Sheets.Add()'返回新工作表,所以你可以使用'sheet2 = oWB.Sheets.Add(...)' – 2012-07-27 22:20:09

回答

0

http://msmvps.com/blogs/deborahk/archive/2009/07/23/writing-data-from-a-datatable-to-excel.aspx

只需添加另一圖紙中並導出第二和第三表新表

另一個鏈接與細節:

C# how to add Excel Worksheet programmatically Office XP/2003

確保您捕捉的回報。

xlNewSheet = (Worksheet)xlSheets.Add(xlSheets[1], Type.Missing, Type.Missing, Type.Missing); 
+0

謝謝!我嘗試添加表單,但是我造成了一個問題。此外,它在該行引發異常:oRange = oSheet.get_Range(oSheet.Cells [1,1],oSheet.Cells [rowCount,dt.Columns.Count]);說沒有get_Range。這是一個很好的開始,所以再次感謝! :) – Miriam 2012-07-27 21:12:46

+0

@Miriam - 用問題代碼更新您的問題:非常難以調試單行! – 2012-07-27 21:14:40

相關問題