当用C#开发Excel报表时,出现“Method:Microsoft.Office.Interop.Excel.Workbook Add(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.Globalization.CultureInfo CurrentCI = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
或者
2,或到“区域与语言选项中”设定当前的区域选项为当前系统的环境