Trouble in Excel.Workbook.SaveAs

2019-08-30 07:52发布

When I save an excel workbook :

xlWorkbook.SaveAs("C:\\output\\excelfile.xls", Excel.XlFileFormat.xlCSV, 
  misValue, misValue, false, false, Excel.XlSaveAsAccessMode.xlNoChange, 
  misValue, misValue, misValue, misValue, misValue);

it have no proplem.

But

String str = "C:\\output\\excelfile.xls";// or get file path from saveFileDialog
xlWorkbook.SaveAs(str, Excel.XlFileFormat.xlCSV,
  misValue, misValue, false, false, Excel.XlSaveAsAccessMode.xlNoChange,
  misValue, misValue, misValue, misValue, misValue);

I found "comexception was unhandled cannot access *.xls", why is that?

enter image description here

标签: c# excel vsto
1条回答
戒情不戒烟
2楼-- · 2019-08-30 08:34

I just tried it and it works for me:

private void button1_Click(object sender, EventArgs e)
{
    var xlApp = ((TaskPaneView)this.Parent).currentInstance;

    Workbook xlWorkbook = xlApp.Workbooks[1];
    var misValue = Type.Missing;
    xlWorkbook.SaveAs("C:\\temp\\excelfile.xls", XlFileFormat.xlCSV,
misValue, misValue, false, false, XlSaveAsAccessMode.xlNoChange,
misValue, misValue, misValue, misValue, misValue);

    xlWorkbook.SaveAs("C:\\temp\\excelfile.xls", XlFileFormat.xlCSV,
misValue, misValue, false, false, XlSaveAsAccessMode.xlNoChange,
misValue, misValue, misValue, misValue, misValue);

}

On the second SaveAs I get this prompt:

enter image description here

查看更多
登录 后发表回答