ASP.NET手册Excel表格

时间:2009-05-31 10:03:04

标签: asp.net excel

我需要设置excel表工作簿(添加工作表/添加数据/ 隐藏列 / 使用密码保护单元 /更改字段内容/等等)

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

或是否有一个好的(共同的或免费的)库/插件用于进行这种活动。

请帮助

4 个答案:

答案 0 :(得分:2)

尝试传播Sheet Gear第三方组件

http://www.spreadsheetgear.com/

答案 1 :(得分:1)

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

操作本机Excel文件更难:您可以将COM对象与primary interop assemblies一起使用。根据我的经验,这很难做到。在最好的情况下,Excel会保留自身的旧副本,您可以通过计划的每晚服务器重置来缓解这些副本。在最糟糕的情况下,Excel将随机挂起,使您的网站无响应。

使用本机Excel文件的另一种方法是Visual Studio Tools for Office。它当然比COM互操作更容易使用,并且最适合Visual Basic:

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

C#缺少可选参数,打开工作簿会成为一个糟糕的笑话:

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

我没有深入研究VSTO,因为XML操作对我来说非常有效。也许其他人可以在ASP.NET网站上评论它是如何工作的。

答案 2 :(得分:1)

使用SpreadsheetGear,您可以完全访问Excel文档和所有宏功能,包括保护和取消保护单元格,列等的功能。除了WinForms之外,我们有相同的描述。

答案 3 :(得分:0)

我们使用过COM对象,我不推荐它。最大的问题是对象永远不会被释放......

我们现在使用Gembox软件中的组件。已经使用了两年并且工作正常,它比上面提到的那个便宜一点,在我看到之前我不知道。