我想在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。而不是保存。
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个字符。
请告诉我我在哪里做错了?
答案 0 :(得分:1)
仅仅因为你保存扩展名为.xlsx的“空”文件并不意味着excel能够读取这样的文件。您可以使用OpenXML,ClosedXML(我的首选),互操作(yucky),我确信有很多其他创建Excel文档的方法
File.Create(...)
与右键单击文件资源管理器,选择新文本文档,并将其从“New Text Document.txt”重命名为“New Text Document.xlsx”没有多大区别。是的,扩展是excel,但是excel无法读取 陈述 这是一个excel文件的空文件。
您可以使用任何可用的库来创建Excel文件:
等。这些库中的大多数“保存”方法或“SaveAs”方法默认情况下(可能)在工作目录中创建文件,但您也可以指定一个目录来创建它们。
正如相关问题的答案所示:
workbook.SaveAs(@"c:\documents\book1.xlsx",
Excel.XlFileFormat.xlOpenXMLWorkbook, missing, missing,
false, false, Excel.XlSaveAsAccessMode.xlNoChange,
missing, missing, missing, missing, missing);