从模板.xlt文件以.xltx或xlsx打开



我有.xlt excel模板文件,并尝试在.xltx或xlsx excel文件中显示数据。

ExcelApp = new Microsoft.Office.Interop.Excel.Application();

我试图打开扩展名为xltx的xlt文件

ExcelWorkBook = ExcelApp.Workbooks.Open(fileName,…)

当我以fileName的名称打开文件时,我会得到错误

HRESULT 0x800A03EC 出现异常

在这条线路

Range r = (Range) ExcelWorkBook.Columns["I", 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;
}

最新更新