Nov
9
C#中用如下代码输出Grid到Excel,
C# Code Copy Code To Clipboard
- public static Microsoft.Office.Interop.Excel.Application _excelobj = new Microsoft.Office.Interop.Excel.Application();
- public static Workbook _newbook = _excelobj.Workbooks.Add();
- ////...
- Microsoft.Office.Interop.Excel.Worksheet _newsheet = _newbook.ActiveSheet;
在输出后如果关闭了Excel再调用输出,会在上面第7行出现错误 :
The object invoked has disconnected from its clients. (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))
究其原因,就是因为excel关闭以后,_newbook这个object不存在了。所以,在第7句前加一个判断即可解决:
C# Code Copy Code To Clipboard
- if (_excelobj.ActiveWorkbook == null)
- {
- _newbook = _excelobj.Workbooks.Add();
- }
- Microsoft.Office.Interop.Excel.Worksheet _newsheet = _newbook.ActiveSheet;



