我正在开发一个在DB上运行MySQL查询的项目。我需要将结果反馈到我将动态生成的Excel表格中。我已经启动了代码,使用msdn教程以及我在stackoverflow上找到的信息,但是运行应用程序离开了我
"对象引用未设置为对象的实例。"
此时我刚开始使用基本代码,因为我想在开始在代码中创建整个电子表格之前完成这项工作。
var excelApp = new Excel.Application();
excelApp.Visible = true;
Excel.Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet;
((Excel.Range)workSheet.Cells[1, 1]).Value = "Print Date:";
如果我能提供更多信息,请询问。我非常感谢您能为我提供的任何信息或见解!
答案 0 :(得分:2)
我会说workSheet
被设置为null,因为excelApp.ActiveSheet
尚不存在。
这里有一些代码可以创建一个可以使用的工作表对象......
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就不会在完成后退出。答案 1 :(得分:0)
您收到该错误的原因是,您尚未在应用程序中创建任何工作表。 试着这样做。
Excel.Worksheet newWorksheet;
newWorksheet =(Excel.Worksheet)excelApp.Worksheets.Add();