【发布时间】:2012-02-22 16:34:42
【问题描述】:
我正在使用此代码读取 Excel 电子表格:
using Excel = Microsoft.Office.Interop.Excel;
namespace myProject
{
public class uploadfile
{
public void ReadFile(string file, string companycode)
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;
string str;
int rCnt = 0;
int cCnt = 0;
xlApp = new Excel.Application(); //<==Crashes right here
xlWorkBook = xlApp.Workbooks.Open(file, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//Code eliminated for brevity
}
}
}
每次运行此代码时,我都会收到错误 0x80040154,“未注册类”。我已尝试针对 X86 并在我的 PC 上重新安装 Office。我已经搜索了互联网,但在大多数来源中,它安装在某人的机器上后出现问题,但在 VS2010 中发生在我身上。
【问题讨论】:
-
您是否为您的 office 版本安装了 Microsoft Office XXXX Primary Interop Assemblies?
-
@pistipanko 我已经安装了微星
-
您安装了哪个版本的 Excel(以及您使用的是哪个版本的互操作...也就是说,您在“添加引用”时选择了什么)?
-
@SwDevMan81 家庭办公室和学生 2010 和 14.0.0.0
-
这可能是 Office PIA 的版本冲突和您项目中对 Office Interop 的引用。