将数据从 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
我在做一个项目,我想在 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