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();