导入Excel文件不再工作了

本文关键字:工作 不再 文件 Excel 导入 | 更新日期: 2023-09-27 18:16:08

我有一个从Excel文件中导入表格并处理它们的应用程序。我开始在Windows XP上开发,一切都很好,但现在我被迫切换到Windows 7 Professional x86。

突然出现的问题是,当应用程序想要打开Excel文件时,它抛出了一个异常。

我没有在代码中改变任何东西,我只是换了我工作的电脑。它在我的私人电脑(Windows 7 Professional x64)上运行完美。

任何帮助都是感激的。

Thanks in advance

导入Excel文件不再工作了

检查文件/文件夹访问权限了吗?

下面是我用来读取excel电子表格的示例代码。

您还需要添加对"Microsoft.Office.Interop.Excel"的引用

则可以使用using "using Excel = Microsoft.Office.Interop.Excel;"来访问所需对象。

string FileName = @"D:'Spreadsheet.xlsm"; 
MyApp = new Excel.Application();
MyApp.Visible = false;
MyBook = MyApp.Workbooks.Open(FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
sheets = new List<excelsheet>();
for (int z = 1; z < MyBook.Sheets.Count + 1; z++)
{
    MySheet = (Excel.Worksheet)MyBook.Sheets[z];
    Excel.Range excelRange = MySheet.UsedRange;
    object[,] valueArray = (object[,])excelRange.get_ValueExcel.XlRangeValueDataType.xlRangeValueDefault);
}

希望这对你有帮助

我检查了异常的原始消息,它告诉我在提供的路径中无法找到文件。

显然,Path.getFullPath(string filename)函数为我在OpenFileDialog中选择的文件返回了不同的路径。这导致该文件在我的应用程序的Debug文件夹中搜索,而它位于项目文件夹的子文件夹中。

我现在的解决方案是用给定的文件名手动创建路径,效果和以前一样好。