繁体   English   中英

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

[英]C# generating excel file and writing to cells

我正在一个在数据库上运行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:";

如果我可以提供更多信息,请询问。 我非常感谢您可以为我提供的任何信息或见解!

我想说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将不会退出。
  • 不要使用双点引用(即object1.object2.value)。 如果这样做,您将无法如上所述正确释放它。
  • 索引总是从1开始,而不是0(以我的经验)。

出现该错误的原因是,您尚未在应用程序中创建任何工作表。 尝试这样做。

Excel.Worksheet newWorksheet;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM