以下是问题所在:
我必须使用.NET修改现有的Excel电子表格,这个电子表格非常复杂,我只需要在一些预定义的区域中添加数据。
我正在研究我的选择,Excel Automation/InterOp是不可能的,因为我正在实现一个ASP.NET网站,而Excel可能没有安装在服务器上。根据我在网上的发现,InterOp也是一个非常昂贵的性能解决方案。
由于原始电子表格的复杂性,创建CSV文件也被排除在外。
目前我倾向于ADO.NET OleDb解决方案,但我发现这很少被提及(谷歌和Stackoverflow.com),所以我有点担心: OldDb的Excel有什么陷阱?到目前为止,我在MSDN上发现的唯一缺点是我不能用公式创建单元格,但这对我来说真的不是问题。
我也考虑过SSIS,但这只是基于我的假设,即在生成电子表格时可以使用现有的Excel文件。我不知道这是否可能。
然后是OpenXml。与OldDb相比,它似乎过于复杂,而且还不确定我必须支持哪些较旧的Excel版本。
我是不是遗漏了什么?有没有更多的选择?
发布于 2008-11-15 21:54:12
在这种情况下,我通常倾向于不处理复杂的电子表格,而是建立一个单独的数据文件,我会将复杂电子表格中的数据单元格链接到该文件。这比从外部更改复杂的电子表格要干净和安全得多。
如果这并不比你目前面临的替代方案更容易,那我会很惊讶。但我还没见过你的电子表格。
发布于 2008-11-15 14:08:43
查看MyXls,这是一个用于读写二进制XLS文件的.NET解决方案。
发布于 2008-11-15 14:09:23
我曾经使用过Aspose.Cells来做这类事情,并取得了很好的效果。文档可能有点生涩,但产品似乎还不错。它不需要在服务器上安装Excel,它可以与最新版本的Excel (以及以前的版本)协同工作。
https://stackoverflow.com/questions/292551
复制相似问题