1

我有模板 .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];
4

1 回答 1

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;
}
于 2013-06-26T08:56:30.513 回答