将数据从 c# 保存到 Excel 崩溃

saving data from c# to Excel crashes

我在做一个项目,我想在 Excel sheet,

中保存一些数据

这是我的代码:

private void myButton11_Click(object sender, EventArgs e)
{
    Microsoft.Office.Interop.Excel.Application excel;
    Microsoft.Office.Interop.Excel.Workbook excelworkbook;
    Microsoft.Office.Interop.Excel.Worksheet excelsheet;

    excel = new Microsoft.Office.Interop.Excel.Application();
    excel.Visible = false;
    excel.DisplayAlerts = false;

    excelworkbook = excel.Workbooks.Add(Type.Missing);

    excelsheet = (Microsoft.Office.Interop.Excel.Worksheet)excelworkbook.ActiveSheet;
    excelsheet.Name = "dataToExcel";
    // fill in data
    excelsheet.Cells[1, 1] = "test";
    excelsheet.Cells[3, 3] = "test2";

    // save excel
    excelworkbook.SaveAs(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "//dataToExcel.xls",
        Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
        true, true, 1, 10, false);
}

问题是执行它时崩溃并向我显示此错误消息:

System.Runtime.InteropServices.COMException
  HResult=0x800A03EC
  Message=Coudn't access file. Please try thoses options :

• Make sure the file exist. 
• Make sure the file is not in read only.
• Make sure file path isn't containing thoses characteres:  <  >  ?  [  ]  :  | or  *
• Make sure the file path and names do not take more than 218 caracteres.

C:\Users\corentin.boudaud\source\repos\FabLoop_project_V0.0.0\FabLoop_project_V0.0.0\Program.cs :ligne 20

崩溃发生在“另存为”,我正在写入的文件在我的文档中(public,写入可用)

知道问题出在哪里吗?

谢谢

您可以轻松地将其另存为 .csv 文件。 CSV 也是一个表格,如果您打开它,它将在 excel.

中打开

您可以使用 System.IO

那是 excel 中的一个 csv 文件:

那是记事本++中的一个csv文件

我发现了问题,

当使用excelworkbook.SaveAs()时,路径需要使用'\'来设置路径而不是'/'

然后我可以根据需要保存文件,.csv .xls 或 .xlsx