簡體   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