嘿伙计们我试图将数据表导出到excel电子表格(excel 15.0库,excel 2013,VS 2013),我遇到了一个问题。现在,我并不担心如何获取列标题以及我只是对将数据放入电子表格感到高兴,我的代码在下面,当我运行它时,我一直在
上的对象引用未设置为对象的实例
workSheet.Cells[(i+2),(j+1)]
代码行。
public static void exportReport(System.Data.DataTable Results)
{
try
{
string excelFilePath = @"C:\exceltest\exceltestsheet.xlsx";
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel._Worksheet workSheet = excelApp.ActiveSheet;
if (Results == null || Results.Columns.Count == 0)
{
throw new Exception("null or empty table");
}
for (int i = 0; i < Results.Rows.Count; i++)
{
for (int j = 0; j < Results.Columns.Count; j++)
{
workSheet.Cells[(i + 2), (j + 1)] = Results.Rows[i][j];
}
}
if (excelFilePath != null && excelFilePath != "")
{
workSheet.SaveAs(excelFilePath);
excelApp.Quit();
Console.WriteLine("Excel File Saved!");
}
}
catch(Exception ex)
{
}
}
答案 0 :(得分:0)
我认为您必须在访问活动工作表之前创建新工作簿。尝试:
excelApp.Workbooks.Add();
访问活动工作表之前。