如何使用C#從DataSet中創建多個工作表的Excel文件。我成功地創建了一個單張紙的Excel文件。但我無法爲多張紙張做到這一點。如何使用C#從DataSet中創建多個工作表的Excel文件
問候 嚴酷
如何使用C#從DataSet中創建多個工作表的Excel文件。我成功地創建了一個單張紙的Excel文件。但我無法爲多張紙張做到這一點。如何使用C#從DataSet中創建多個工作表的Excel文件
問候 嚴酷
下面是編程創建Excel工作簿,並增加了兩片,然後填充兩片材簡單的C#類。最後,保存工作簿在應用程序根目錄中的文件,這樣就可以檢查結果...
public class Tyburn1
{
object missing = Type.Missing;
public Tyburn1()
{
Excel.Application oXL = new Excel.Application();
oXL.Visible = false;
Excel.Workbook oWB = oXL.Workbooks.Add(missing);
Excel.Worksheet oSheet = oWB.ActiveSheet as Excel.Worksheet;
oSheet.Name = "The first sheet";
oSheet.Cells[1, 1] = "Something";
Excel.Worksheet oSheet2 = oWB.Sheets.Add(missing, missing, 1, missing)
as Excel.Worksheet;
oSheet2.Name = "The second sheet";
oSheet2.Cells[1, 1] = "Something completely different";
string fileName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
+ "\\SoSample.xlsx";
oWB.SaveAs(fileName, Excel.XlFileFormat.xlOpenXMLWorkbook,
missing, missing, missing, missing,
Excel.XlSaveAsAccessMode.xlNoChange,
missing, missing, missing, missing, missing);
oWB.Close(missing, missing, missing);
oXL.UserControl = true;
oXL.Quit();
}
}
要做到這一點,你需要添加到的Microsoft.Office.Interop.Excel引用到你的項目(你可能已經做了這個,因爲你正在創建一張紙)。
,增加了第二片是語句...
Excel.Worksheet oSheet2 = oWB.Sheets.Add(missing, missing, 1, missing)
as Excel.Worksheet;
「1」參數指定一張紙,它可以是更多,如果你想一次添加多個表。
最後說明:聲明oXL.Visible = false;告訴Excel以靜默模式啓動。
我在oXL.Quit()上得到一個錯誤;每次。 Excel Undantagskod:xc0000005 Felförskjutning:0x000000000000f993。該錯誤被放入機器的事件日誌中。你還需要C#4中的缺失arumgents嗎?動態oWB = excelApplication.Workbooks.Add()是不夠的嗎? –
任何翻譯錯誤信息的機會? –
很棒的回答。非常感謝 –
我想這取決於你如何看待創建excel文件。你在尋找@在數據集中爲每個表格創建一個頁面嗎? – KreepN
您可能更改了默認的Excel行爲。請參閱http://stackoverflow.com/questions/8066189/c-sharp-create-excel-workbook-with-1-sheet-by-default – JMax
您正在使用哪個技術或組件來創建您正在創建的單張? –