Nov 9

C#中用如下代码输出Grid到Excel,

C# Code Copy Code To Clipboard
  1. public static Microsoft.Office.Interop.Excel.Application _excelobj = new Microsoft.Office.Interop.Excel.Application();  
  2.   
  3. public static Workbook _newbook = _excelobj.Workbooks.Add();  
  4.   
  5. ////...  
  6.   
  7. 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
  1. if (_excelobj.ActiveWorkbook == null)  
  2. {  
  3.      _newbook = _excelobj.Workbooks.Add();  
  4. }  
  5.   
  6. Microsoft.Office.Interop.Excel.Worksheet _newsheet = _newbook.ActiveSheet;   

 

Tags: , , , ,
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]