複数のシートを持つExcelレポートを作成しようとしています。これらの各シートには、SQLクエリの結果であるDataTableからのデータが含まれています。最初のワークシートは正しく作成されていますが、2番目のワークシートを作成できません。私は自分が間違っていることを理解していますが、新しいExcelワークブックをすべて作成せずに、以下のコードを使用してワークシートを追加する方法がわかりません。
ブックを作成してからシートを追加することを考えていました。しかし、私はそれをすべてクリックさせることができないようです。
これは私が試していることです:
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();
}