C#Excel SaveAs问题

时间:2015-07-03 09:58:20

标签: c# excel

您好我正在使用以下c#代码从Web应用程序编写excel工作簿,并尝试将excel保存在我的计算机中。

Excel._Application excelApp = new Excel.Application();
string excelFile = HttpContext.Current.Server.MapPath("~/ExcelTemplate/Sample.xlsx");
Excel._Workbook workbook = excelApp.Workbooks.Add(excelFile);
Excel._Worksheet worksheet = workbook.Sheets["Analytics"] as Excel.Worksheet;
Excel.Range cells = worksheet.Cells;

cells[1, 1].Value = "Details Between " + StartDate.ToString("dd-MMM-yyyy") + " & " + EndDate.ToString("dd-MMM-yyyy");
cells[18, 1].Value = "Response Details Between " + StartDate.ToString("dd-MMM-yyyy") + " & " + EndDate.ToString("dd-MMM-yyyy");
cells[1, 8].Value = "Detailed Response Between " + StartDate.ToString("dd-MMM-yyyy") + " & " + EndDate.ToString("dd-MMM-yyyy");

workbook.SaveAs(@"C:\ExportedSheet.xlsx", Excel.XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
               Excel.XlSaveAsAccessMode.xlNoChange, Excel.XlSaveConflictResolution.xlUserResolution, Type.Missing, Type.Missing, Type.Missing, Type.Missing);


workbook.Close();

每次SaveAs方法抛出异常时,都说无法访问" ExportedSheet.xlsx"。我无法找到任何解决方法,请帮我解决问题。

提前致谢!

1 个答案:

答案 0 :(得分:0)

了解确切的错误将有助于解决此问题。由于您没有提到您注意到的错误,请尝试以下步骤。如果这没有帮助,请将代码放在try-catch块中。捕获异常后打印错误消息。打开excel工作簿并取消选中导致此错误的选项。保存工作簿并执行代码。

  1. 打开Excel文件 - C:\ ExportedSheet.xlsx

      
        

    转到 - 文件 - >选项 - > Trust Ceneter - >信任中心设置 - >隐私选项。在“文档特定选项”下,取消选中“保存时删除文件属性的个人信息”。     保存excel文件。执行代码。

      
  2. 打开Excel文件 - C:\ ExportedSheet.xlsx

      
        

    单击“审阅”选项卡。在“共享工作簿” - >“编辑”选项下,取消选中 - 允许多个用户同时进行更改。这也允许工作簿合并。     保存excel文件。执行代码。

      

    试 {    //码 } catch(Exception ex) {    //打印错误 - ex.Message }