当用C#开发Excel报表时,出现“Method:Microsoft.Office.Interop.Excel.WorkbookAdd(System.Object) Message:Old format or invalid type library.(Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))Data:System.Collections.ListDictionaryInternal”问题!
解决方案:
1,这是Excel自身的一个bug,当本地系统环境被设置成非英文的,而Excel是英文的时候,就会出现,需要临时设定英文环境,代码如下:
在执行垃圾回收后加上(还原以前的设置)
System.Threading.Thread.CurrentThread.CurrentCulture =oldCI;
或者
2,或到“区域与语言选项中”设定当前的区域选项为当前系统的环境
在使用C#生成Excel文件时遇到异常,错误信息为HRESULT:0x80028018(TYPE_E INVDAIAREAD)。解决方案是在执行垃圾回收后恢复线程的CurrentCulture设置。
2071

被折叠的 条评论
为什么被折叠?



