C#生成excel文件并写入单元格

我正在研究一个在数据库上运行MySQL查询的项目。 我需要把结果反馈给Excel表格,我将在飞行中生成。 我已经开始了代码,使用MSDN教程以及我在stackoverflow上find的信息,但运行应用程序离开了我

“你调用的对象是空的。”

在这一点上,我刚开始创build基本代码,因为我想在代码中创build完整的电子表格之前完成这个工作。

var excelApp = new Excel.Application(); excelApp.Visible = true; Excel.Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet; ((Excel.Range)workSheet.Cells[1, 1]).Value = "Print Date:"; 

如果我可以提供任何更多的信息只是问。 我非常感谢您提供给我的任何信息或见解!

我会说workSheet被设置为null,因为excelApp.ActiveSheet还不存在。

这里有一些代码会创build一个工作表对象,你可以使用…

 var application = new Application(); var workbooks = application.Workbooks; var workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet); var worksheets = (Sheets)workbook.Worksheets; var worksheet = worksheets[1]; 

使用Excel时需要注意的一些事项:

  • 完成后,使用System.Runtime.InteropServices.Marshal.ReleaseComObject(object)释放每个对象。 如果你不这样做,Excel完成后不会退出。
  • 不要使用双点引用(即object1.object2.value)。 如果你这样做,你不能像上面那样正确地释放它。
  • 索引总是从1开始,而不是从0开始(依我的经验)。

你得到这个错误的原因是,你没有在应用程序中创build任何工作表。 试着做这个。

Excel.Worksheet newWorksheet;

newWorksheet =(Excel.Worksheet)excelApp.Worksheets.Add();