ASP.NET manuplating Excel工作表

我需要制作一个Excel工作簿(添加工作表/添加数据/ 隐藏列 / 保护单元格密码 /更改字段内容/等等)

我应该使用微软提供的COM对象(但是我认为他们在asp.net中使用的问题很less)

还是有一个好的(commurcial或free)库/插件来做这种活动。

请帮忙

尝试传播Sheet Gear第三方组件

http://www.spreadsheetgear.com/

我发现的最简单的方法是使用Excel XML格式 。 这样,您可以像编辑其他XML文件一样编辑Excel工作表。 要查看Excel如何隐藏列或使用密码保护它们,请手动执行这些操作并查看Excel如何将它们保存为XML。 这是一个轻而易举的代码,它是稳定的,而且速度很快。

操作本机Excel文件比较困难:您可以将COM对象与主互操作程序集一起使用 。 根据我的经验,这是很难得到正确的。 在最好的情况下,Excel将自己的旧副本保留下来,您可以通过计划的每晚重置服务器来缓解这个问题。 在最坏的情况下,Excel会随机挂起,使您的网站无响应。

使用本机Excel文件的另一种方法是Visual Studio Tools for Office 。 这比使用COM interop更容易使用,并且在Visual Basic中使用效果最好:

Application.Workbooks.Open("Workbook.xls") 

C#缺less可选参数,打开工作簿变成了一个不好的笑话:

 Application.Workbooks.Open(@"Workbook.xls", missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing,missing, missing); 

我并没有深入VSTO,因为XML操作对我来说工作得非常好。 也许其他人可以评论它是如何在ASP.NET网站中运行的。

借助SpreadsheetGear,您可以完全访问Excel文档以及所有的macrosfunction,包括保护和取消保护单元格,列等的function。除了WinForms外,我们有相同的描述。

我们已经使用了COM对象,我不能推荐它。 在大问题是,对象永远不会被释放…

我们现在使用Gembox软件的组件。 已经使用了两年,运行良好,上面提到的那个便宜一点,在我看到之前我不知道。