写入Excel文件时文件名或path不存在或被其他程序使用
我正在尝试创build一个Excel文件并向其中写入一些数据。 这是我正在使用的代码。
using excel = Microsoft.Office.Interop.Excel; excel.Application xlapp; excel.Workbook xlworkbook; excel.Worksheet xlworksheet; object misvalue = System.Reflection.Missing.Value; xlapp = new excel.ApplicationClass(); xlworkbook = xlapp.Workbooks.Add(misvalue); xlworksheet = (excel.Worksheet)xlworkbook.Worksheets.get_Item(1); xlworksheet.Cells[1, 1] = "Muneeb Hassan Soomro"; xlworkbook.SaveAs("csharp-excelwrite.xls",excel.XlFileFormat.xlWorkbookNormal,misvalue,misvalue,misvalue,misvalue,excel.XlSaveAsAccessMode.xlExclusive,misvalue,misvalue,misvalue,misvalue,misvalue); //xlworkbook.SaveAs("csharp-Excel.xls", excel.XlFileFormat.xlWorkbookNormal); xlworkbook.Close(true, misvalue, misvalue); xlapp.Quit();
我在xlworkbook.saveas()
调用中遇到exception。 说:
文件名或path不存在或由其他程序使用
我在这里做错了什么?
所以从你对另一个答案的评论之一,我终于得到了exception文本(这个信息应该包括在问题中!)
文件名或path不存在或由其他程序使用
解决scheme应该很简单:在SaveAs
调用中指定一个完整path,而不仅仅是一个文件名。 Excel如何知道应该在哪个文件夹中保存文件?
试着改变这一行
xlworkbook = xlapp.Workbooks.Add(misvalue);
到这一行:
xlworkbook = xlapp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
和另存为:
workBook.SaveAs("csharp-excelwrite.xls", XlFileFormat.xlWorkbookNormal, Missing.Value, Missing.Value, Missing.Value, Missing.Value, XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
所以我build议你使用excellibrary进行Excel文件编写
您可以从C#中find有关创buildExcel(.XLS和.XLSX)文件的详细信息
尝试这个
object format = excel.XlFileFormat.xlWorkbookNormal; object sv = excel.XlSaveAsAccessMode.xlExclusive; object filename = "csharp-excelwrite.xls"; xlworkbook.SaveAs(ref filename,ref format, ref misvalue,ref misvalue,ref misvalue, ref misvalue,ref sv,ref misvalue,ref misvalue, ref misvalue,ref misvalue,ref misvalue);
它正在为我工作与Word应用程序例如
object readOnly = isReadonly; object isVisible = true; object missing = WordConst.Missing; wordDoc = wordApp.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing);
- 一个简单的C#DLL – 我如何从Excel,Access,VBA,VB6中调用它?
- 保存一个excel工作簿C#
- 在Web应用程序中使用Excel进行计算
- 在Excel中将数据写入单元格,C#
- 服务器执行失败(HRESULTexception:0x80080005(CO_E_SERVER_EXEC_FAILURE))
- 什么架构来解决这个SystemOutOfMemoryException,同时允许我实例化一个工作表的单元格?
- Excel工作簿和graphics
- 使用Interop C#保存Excel电子表格
- C#和Microsoft.Office.Interop.Excel – 如何用它的值replace一个公式?