C#Excel另存为问题

C#Excel另存为问题,c#,excel,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(excelFi

您好,我正在使用以下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”。我无法找到任何修复此问题的方法,请帮助我修复此问题


提前谢谢

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

  • 打开excel文件-C:\ExportedSheet.xlsx

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

  • 打开excel文件-C:\ExportedSheet.xlsx

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

    试一试 { //代码 } 捕获(例外情况除外) { //打印错误消息 }


  • 检查文件是否不是只读的。或者它存在于该路径中。这是否是UAC(用户帐户控制)问题-WIndows 7以上-并且您没有足够的权限将文件保存在根目录中。谢谢@Thanos,但我希望用户在其计算机中选择此导出工作表的路径。如果这是UAC问题-则用户需要选择一个他们有访问权限的位置-或者可能运行“以管理员身份”(如果可能)将允许他们选择该位置。