4

我正在尝试创建一个 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()我在通话中遇到异常。说:

文件名或路径不存在或被其他程序使用

我在这里做错了什么?

4

4 回答 4

2

因此,从您对另一个答案的评论中,我终于得到了异常文本(此信息应该已包含在问题中!)

文件名或路径不存在或被其他程序使用

解决方案应该很简单:在调用中指定完整路径SaveAs,而不仅仅是文件名。Excel 应该如何知道它应该将文件保存在哪个文件夹中?

于 2013-07-11T07:44:27.873 回答
1

尝试更改此行

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);
于 2013-07-11T07:02:54.260 回答
0

所以我建议你使用excellibrary来编写 Excel 文件

您可以从 C# 中找到有关创建 Excel(.XLS 和 .XLSX)文件的详细信息

于 2013-07-11T06:54:11.770 回答
0

尝试这个

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);
于 2013-07-11T07:06:11.150 回答