...C#自動化到Excel
Excel.Application oXL;
Excel._Workbook oWB;
Excel._Worksheet oSheet;
oXL = new Excel.Application();
oWB = (Excel._Workbook)oXL.ActiveWorkbook;
oSheet = (Excel._Worksheet)oWB.Sheets[1];
oSheet.Cells[5,10] = "Value";
...
在碰撞產生這樣的:
Unhandled Exception: System.NullReferenceException: Object reference not set to
an instance of an object.
at ConsoleApplication1.Program.Main(String[] args) in C:\Wherever\Visual Studio 2008\Projects\ConsoleApplication20\ConsoleApplication20\Program.
cs:line 60
在這種情況下,第60行是
oSheet = (Excel._Worksheet)oWB.Sheets[1];
,如果行寫
oSheet = (Excel._Worksheet)oWB.ActiveSheet;
同樣的事情發生。
當時Excel已經在屏幕上打開,並且新的工作表已經就位。
可能不是你要找的答案玩,但我發現C#的辦公室互操作支持,極不理想很多。另一方面,我發現VB.NET在Excel自動化方面更穩定。只是一些我從事的項目的個人觀察。 – Nasir
呃,我剛剛在C#中完成了這個。感謝您對VB.NET的建議 – user225626
@ nsr81 C#或VB沒有任何問題。它全部被編譯成MSIL。繼續話題? – RichardTheKiwi