C#,创buildExcel 97-2003(.xls)互操作

使用Excel = Microsoft.Office.Interop.Excel;

我需要从我的datagridview保存一个Excel文件(.xls)。 所有工作正常,写入数据,更改单元格格式等,但保存文档时出现问题。

string format = "yyyy_MM_dd_HH-mm"; string pathtoexport = @"C:\DM\SMS\Przychodzace\Znalezione_SMS_" + DateTime.Now.ToString(format) + ".xls"; oWB.SaveAs(pathtoexport, Excel.XlFileFormat.xlWorkbookNormal, missing, missing, false, false, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing); } 

那么前几天呢就是在工作,但是现在只能说了

HRESULT:0x800A03EC“}

我需要.xls将其导入到SQL。 任何build议?


在Excel.XlFileFormat.xlWorkbookDefault出现问题之前,当Iv将其更改为Normal时,performance良好。 现在它不工作。 大量的时间来处理我自己的谷歌,但我失败了。

 oWB.SaveAs(MyFile + @"C:\SMS\XMLCopy.xls", Excel.XlFileFormat.xlWorkbookNormal, missing, missing, false, false, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing); 

  string format = "yyyy_MM_dd_HH-mm"; string pathtoexport = "C:\\DM\\SMS\\Przychodzace\\Znalezione_SMS_" + DateTime.Now.ToString(format) + ".xls"; oWB.SaveAs(pathtoexport, Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

现在起作用了。 感谢帮助。

尝试使用Excel.XlFileFormat.xlWorkbookDefault

我看不出你的代码有什么明显的错误。 访问该path是否有可能存在问题? 如果您尝试手动将文件保存到该确切path(假设您在互操作过程下运行的同一帐户下login),它是否工作?

否则,你是否使用某种Excel模板文件或可能已经损坏的东西?

如果您/您的客户负担得起,那就是Aspose.Cells ,它可以从头开始生成Excel文档, 而不需要在机器上安装Office。

另一方面,解决scheme花钱。

在我看来像一个Interop版本的冲突。 你在同一台机器上遇到过这个问题吗?或者你已经搬到另一台机器上了? 如果您同样尝试追溯并找出任何更改或更新。 如果你在另一个,然后确认你有正确的版本安装在那里。

这可能听起来很愚蠢,但是由于环境之间的不一致性,从dev – > test – > prod移动时遇到了各种各样的错误。

如果还没有,请尝试从项目中删除参考并重新应用。

这也可能是由于权限(或缺less)。 你有没有尝试从同一段代码创build一个纯文本文件?