【发布时间】:2016-05-16 12:15:19
【问题描述】:
我想在 c# 中的特定位置和特定名称处创建一个 Excel 文件。
我们可以为此使用File.Create("Filename.xlsx") 吗?
这会创建文件,但是当我们尝试打开它时;它说扩展中有问题。
我尝试了另一种方法,使用 excelApp。但这样,它会在“~Documents\Sheet1.xlsx”处创建默认的 Excel 文件。所以在那种情况下我不能指定位置和文件名。
Excel.Application excelApp = new Excel.Application();
Excel.Workbook excelWorkBook = excelApp.Workbooks.Add(1);
问题类似于-Specify Path and filename while creating excel
由于我无法发表评论,我不得不再次询问。 我已经尝试了链接中提供的答案。
我的代码:
Excel.Application excelApp = new Excel.Application();
object missing = System.Reflection.Missing.Value;
Excel.Workbook excelWorkBook = excelApp.Workbooks.Add(missing);
//....
Fill excelWorkbook after creating worksheets
....//
excelWorkBook.Save();
现在,根据建议,我使用的是 SaveAs,而不是 Save。
excelWorkBook.SaveAs(@"E:\\MyExcelBook\\abcd.xlsx",
Excel.XlFileFormat.xlOpenXMLWorkbook, missing, missing,
false, false, Excel.XlSaveAsAccessMode.xlNoChange,
missing, missing, missing, missing, missing);
它给了我错误: *无法访问该文件。请尝试以下方法之一:\n\n• 确保指定的文件夹存在。 \n• 确保包含该文件的文件夹不是只读的。\n• 确保文件名不包含以下任何字符: ? []:|或\n• 确保文件/路径名不超过 218 个字符。
请告诉我我哪里做错了?
【问题讨论】:
-
类似问题的答案没有说明您需要做什么吗?使用
excelWorkBook.SaveAs("c:\path-to-wherever", ... -
保存一个扩展名为 .xlsx 的“空”文件并不意味着 excel 能够读取这样的文件。您可以使用 OpenXML、ClosedXML(我的首选)、互操作(很糟糕),而且我敢肯定还有许多其他创建 excel 文档的方法
-
这个链接应该对你有帮助Using COM Interop.