如何从DataTable将其他工作表添加到Excel

我正在尝试创build一个有多个工作表的Excel报表。 这些工作表中的每一个都有来自DataTable的来自SQL查询的数据。 初始工作表创build正确,但是,我无法创build第二个工作表。 我明白我在做什么错了,但我只是不知道如何添加一个工作表使用下面的代码没有创build一个新的Excel工作簿的一切。

我正在考虑创build工作簿,然后添加工作表。 但我似乎无法使所有的点击。

这就是我想要的:

static void Main(string[] args) { Excel_FromDataTable(testingTable); Excel_FromDataTable(testingTable); } } private static void Excel_FromDataTable(DataTable dt) { var excel = new Microsoft.Office.Interop.Excel.Application(); var workbook = excel.Workbooks.Add(true); int iCol = 0; foreach (DataColumn c in dt.Columns) { iCol++; excel.Cells[1, iCol] = c.ColumnName; } int iRow = 0; foreach (DataRow r in dt.Rows) { iRow++; // add each row's cell data... iCol = 0; foreach (DataColumn c in dt.Columns) { iCol++; excel.Cells[iRow + 1, iCol] = r[c.ColumnName]; } } // Global missing reference for objects we are not defining... object missing = System.Reflection.Missing.Value; // If wanting to Save the workbook... workbook.SaveAs(@"C:\MyExcelWorkBook2.xlsx"); workbook.Close(); } 

考虑一下

 Static void Main() { var excel = new Microsoft.Office.Interop.Excel.Application(); var workbook = excel.Workbooks.Add(true); AddExcelSheet(dt1, workbook); AddExcelSheet(dt2, workbook); workbook.SaveAs(@"C:\MyExcelWorkBook2.xlsx"); workbook.Close(); } private static void AddExcelSheet(DataTable dt, Workbook wb) { Excel.Sheets sheets = wb.Sheets; Excel.Worksheet newSheet = sheets.Add(); int iCol = 0; foreach (DataColumn c in dt.Columns) { iCol++; newSheet.Cells[1, iCol] = c.ColumnName; } int iRow = 0; foreach (DataRow r in dt.Rows) { iRow++; // add each row's cell data... iCol = 0; foreach (DataColumn c in dt.Columns) { iCol++; newSheet.Cells[iRow + 1, iCol] = r[c.ColumnName]; } }