C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
205 个问题
大家好
我有如下代码来读取 Excel 宏 (.xlsm) 文件;
Microsoft.Office.Interop.Excel.Application objExcel = new Microsoft.Office.Interop.Excel.Application();
object missing = Type.Missing;
Microsoft.Office.Interop.Excel.Workbook wk = objExcel.Workbooks.Open(@"'" + Path.GetDirectoryName(label1.Text) + "'", missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
objExcel.Visible = true;
Microsoft.Office.Interop.Excel.Worksheet ws = wk.Worksheets[1] as Microsoft.Office.Interop.Excel.Worksheet;
但是我在下面得到了例外
ExcelToPPT_DEV.exe中发生“System.Runtime.InteropServices.COMException”类型的未处理异常
其他信息:很抱歉,我们无法找到“D:\New Dev Excel to PPT”.xlsx。它有可能被移动、重命名或删除吗?
文件名为 test.xlsm。但它找不到文件。
Note:此问题总结整理于: How to read Excel Marco (.xlsm) file
当我使用固定路径时,代码没有问题。 根据错误消息,问题出在错误的路径上。 Path.GetDirectoryName 方法用于获取指定文件所在的文件夹。 如果标签。文本为“d:\test\test.xlsm”,那么这个方法的结果就是“d:\test”,以后需要添加一个特定的文件名。 另外,请不要在开头和结尾添加单引号,这将产生无效的路径。
如果回复有帮助,请点击“接受答案”并点赞。
注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。