我们可以使用File.Create创buildExcel文件吗?
我想创build一个Excel文件,在C#中的特定位置和特定的名称。 我们可以使用File.Create("Filename.xlsx")
吗?
这会创build文件,但是当我们尝试打开它时, 它说扩展问题。
我尝试了另一种方式,使用excelApp。 但这样,它会在“〜Documents \ Sheet1.xlsx”中创buildExcel文件的默认值。 所以我不能在这种情况下指定位置和文件名。
Excel.Application excelApp = new Excel.Application(); Excel.Workbook excelWorkBook = excelApp.Workbooks.Add(1);
问题类似于 – 创buildExcel时指定path和文件名
由于我无法发表评论,我不得不再次提问。 我已经尝试了链接中提供的答案。
我的代码:
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();
现在,根据build议,而不是保存,我已经使用了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•确保文件/path名称不超过218个字符。
请告诉我我在哪里做错了?
仅仅因为你保存了一个扩展名为“.xlsx”的“空”文件并不意味着excel能够读取这样的文件。 你可以使用OpenXML,ClosedXML(我的首选),互操作(很棒),我敢肯定许多其他创buildExcel文档的方法
File.Create(...)
与右键单击文件资源pipe理器,select新的文本文档,并将其从“New Text Document.txt”重命名为“New Text Document.xlsx”没有什么不同。 是的,扩展是优秀的,但Excel无法读取一个空文件, 说明这是一个Excel文件。
您可以使用任何可用的库来创buildexcel文件:
- ClosedXML
- OpenXML的
- 互操作
等等。这些库中的大多数“保存”方法或“另存为”方法将(可能)在默认情况下在工作目录中创build文件,但是您也可以指定一个目录来创build它们。
正如链接问题的答案所示:
workbook.SaveAs(@"c:\documents\book1.xlsx", Excel.XlFileFormat.xlOpenXMLWorkbook, missing, missing, false, false, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);