如何使用C#从DataSet中创build多个工作表的Excel文件

如何使用C#从DataSet中创build多个工作表的Excel文件。 我已经成功创build了一个单张纸的Excel文件。 但是我不能为多张纸做这件事。

关心苛刻

下面是一个简单的C#类,它以编程方式创build一个Excel WorkBook并向其中添加两个工作表,然后填充这两个工作表。 最后,它将WorkBook保存到应用程序根目录中的一个文件,以便您可以检查结果…

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引用添加到您的项目中(因为您正在创build一张工作表,所以您可能已经这样做了)。

添加第二个表单的语句是…

 Excel.Worksheet oSheet2 = oWB.Sheets.Add(missing, missing, 1, missing) as Excel.Worksheet; 

'1'参数指定了一个表单,如果你想一次添加多个表单,它可以更多。

最后说明:声明oXL.Visible = false; 告诉Excel以静默模式启动。