我有.xlt excel文件模板,并尝试在.xltx或xlsx excel文件中显示数据。
ExcelApp = new Microsoft.Office.Interop.Excel.Application();
我尝试用xlt扩展名打开文件xltx
ExcelWorkBook = ExcelApp.Workbooks.Open(fileName,…)
当我打开文件名为fileName时,我收到错误
HRESULT 0x800A03EC的异常
在这一行
Range r = (Range) ExcelWorkBook.Columns["I", 0];
答案 0 :(得分:0)
此问题可能由CultureInfo引起。 或者可能有一些旧格式或无效类型库。
想要解决此错误,您可以在执行与Excel相关的代码时将CurrentCulture设置为en-US,并使用这两个函数重置回原点。
//declare a variable to hold the CurrentCulture
System.Globalization.CultureInfo oldCI;
//get the old CurrenCulture and set the new, en-US
void SetNewCurrentCulture()
{
oldCI = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
}
//reset Current Culture back to the originale
void ResetCurrentCulture()
{
System.Threading.Thread.CurrentThread.CurrentCulture = oldCI;
}