【发布时间】:2017-07-08 15:58:28
【问题描述】:
我有 Windows 10 操作系统、Excel 2016 并使用 Visual Studio 2017。
我使用的是 Microsoft Excel 16.0 对象库,版本 1.9。
我想在 Excel 文件中保存 50 行 2 列。
我在 saveas 方法上收到错误 hresult '0x800a03ec'。
到目前为止,我已经看到超过 25 个以上的链接,这些链接以前与相同的错误相关联,但没有任何线索。
这是我的代码:
object misValue = System.Reflection.Missing.Value;
var excel = new Application();
// for making Excel visible
excel.Visible = false;
excel.DisplayAlerts = false;
// Creation a new Workbook
var excelWorkBook = excel.Workbooks.Add(Type.Missing);
// Work sheet
var excelSheet = (Worksheet)excelWorkBook.ActiveSheet;
excelSheet.Name = "xxxxx";
excelSheet.Cells[1][1] = "head1";
excelSheet.Cells[1][2] = "head2";
for (int i = 0; i < list.Count; i++)
{
excelSheet.Cells[i + 2][1] = list[i].xxx;
excelSheet.Cells[i + 2][2] = list[i].yyy;
}
excelSheet.SaveAs(@"E:\data.xlsx", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue);
excel.Quit();
Marshal.ReleaseComObject(excelSheet);
Marshal.ReleaseComObject(excelWorkBook);
Marshal.ReleaseComObject(excel);
需要帮助。
编辑:
1) xls 或 xlsx,它们都不起作用。
2)根据之前找到的一些答案,我也尝试了这个: 控制台根目录 -> 计算机 -> DCOM 配置 -> Microsoft Excel 应用程序 -> 未找到,三重检查。
请有人尝试在您的机器上应用相同的场景,如果您能找到答案,请告诉我。
【问题讨论】:
-
@TravisWhidden 不,我试过这个,对我没有帮助。我正在使用从上到下的所有最新实体
-
@vipul_surana 而不是使用 Excel 互操作以编程方式创建 Excel 工作表,您应该使用 OpenXML 2.5 SDK,因为它更安全,而且根本不需要安装 Excel。
-
您是否有权在
E:驱动器上写入数据?
标签: c# windows-10 visual-studio-2017 excel-interop excel-2016