导入Excel文件不再工作了
本文关键字:工作 不再 文件 Excel 导入 | 更新日期: 2023-09-27 18:16:08
我有一个从Excel文件中导入表格并处理它们的应用程序。我开始在Windows XP上开发,一切都很好,但现在我被迫切换到Windows 7 Professional x86。
突然出现的问题是,当应用程序想要打开Excel文件时,它抛出了一个异常。
我没有在代码中改变任何东西,我只是换了我工作的电脑。它在我的私人电脑(Windows 7 Professional x64)上运行完美。
任何帮助都是感激的。
Thanks in advance
检查文件/文件夹访问权限了吗?
下面是我用来读取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文件夹中搜索,而它位于项目文件夹的子文件夹中。
我现在的解决方案是用给定的文件名手动创建路径,效果和以前一样好。