我需要设置excel表工作簿(添加工作表/添加数据/ 隐藏列 / 使用密码保护单元 /更改字段内容/等等)
我应该使用微软提供的COM对象(但我认为他们在asp.NET中使用的问题很少)
或是否有一个好的(共同的或免费的)库/插件用于进行这种活动。
请帮助
答案 0 :(得分:2)
尝试传播Sheet Gear第三方组件
答案 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软件中的组件。已经使用了两年并且工作正常,它比上面提到的那个便宜一点,在我看到之前我不知道。