2

我有一个通过某些报告服务导出到 excel 的报告列表,在我的服务器上,我需要遍历这些电子表格并执行其他格式设置,例如

1) 隐藏列 2) 重命名工作表 3) 冻结窗格 4) 设置默认缩放、打印大小等 5) 保存为 html 或转换为纯文本文件

到目前为止,我已经使用互操作完成了所有工作,并且效果很好,但是正如您所知,微软避免在服务器上使用互操作(但不提供任何替代!)。将来在新服务器上安装 excel 也将是一场艰苦的战斗。

我已经用谷歌搜索并在 stackoverflow 上搜索了一下,发现了一些可能的:-

我尝试过看起来很棒的 NPOI,但我在尝试打开我的电子表格后遇到了异常(首先是我修复的溢出异常,然后是我无法修复的“单元格内容超过 8552 字节异常”)。

我已经尝试过 excel 库,但完全 100% 缺乏文档。此外,我在格式化我的电子表格后发现它没有保留它的原始格式。

任何人都知道任何好的详尽的免费库或 C# 的 excel 格式?

编辑:不幸的是,我遗漏了提到我必须使用 97-2003 格式的部分,所以 epplus 是不可能的

4

5 回答 5

5

处理 Excel 文件的一种方法是使用OpenXML SDK。这需要使用 Office 2007 或更高版本。它的美妙之处在于,您无需通过 Interop,而是直接针对 Excel 文档的 xml 文件工作,这使其成为服务器使用的好选择。缺点是文件的组织方式与通过 Interop 呈现的方式完全不同,因此弄清楚什么是一个挑战。我没有专门用它来格式化,但我用它来通过 C# 创建或编辑文档,它的速度非常快。

于 2011-07-28T04:53:38.900 回答
4

我使用 EPPlus。简单但完成工作! http://epplus.codeplex.com/

于 2011-07-28T04:47:32.200 回答
2

在某种程度上,MSFT 已经开始拥抱服务器端的 Excel,他们的MS HPC Excel 集成。尽管如此,您可能对EPPlus -“在服务器上创建高级 Excel 2007/2010 电子表格”感兴趣

EPPlus 是一个 .net 库,它使用 Open Office Xml 格式 (xlsx) 读取和写入 Excel 2007/2010 文件。

EPPlus 支持:

  • 单元格范围
  • 单元格样式(边框、颜色、填充、字体、数字、对齐方式)
  • 图表
  • 图片
  • 形状
  • 注释
  • 保护
  • 加密
  • 数据透视表
  • 数据验证
  • 还有很多...
于 2011-07-28T04:47:47.307 回答
1

我很久以前就用过这个,它使用起来超级简单,而且速度非常快:

http://www.carlosag.net/Tools/ExcelXmlWriter/

于 2011-07-28T04:57:34.500 回答
0

如果您需要使用 xls(97 到 2003),您可能想尝试

http://npoi.codeplex.com/ NPOI (nuget)

在有限的情况下对我来说效果很好。您可能还想看看:

ExcelLibrary (source) by Artiom Chilaru ExcelLibrary (nuget)

这是非常快速和高效的。

于 2011-08-30T12:20:56.290 回答