用于格式化Excel的非商业C#库?

我有一个报告列表,通过一些报告服务导出为Excel,在我的服务器上,我需要遍历这些电子表格并执行其他格式

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

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

我用googlesearch了一下,find了一些可能的:

我试过NPOI这似乎很好,但我遇到exception后试图打开我的电子表格(首先是一个溢出exception,我修正了,然后一个'单元格内容超过8552字节exception',我不能)。

我试过excel库,但是完全没有文档。 另外我发现格式化我的电子表格后,它不保留它的原始格式。

任何人都知道任何好的详尽的免费图书馆或Excel格式的C#?

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

处理Excel文件的一种方法是使用OpenXML SDK 。 这需要使用Office 2007或更高版本。 它的优点在于,不需要通过Interop,而是直接针对Excel文档的xml文件,这使得它成为服务器使用的一个很好的select。 缺点是文件的组织方式与通过Interop呈现的方式截然不同,所以要弄清楚什么是挑战。 我没有专门用于格式化,但是我用它来通过C#创build或编辑文档,而且速度非常快。

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

在一定程度上,MSFT已经开始接受服务器端的Excel,与他们的MS HPC Excel集成 。 尽pipe如此,您可能对EPPlus感兴趣 – “在服务器上创build高级Excel 2007/2010电子表格”

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

EPPlus支持:

  • 单元格范围
  • 单元格样式(边框,颜色,填充,字体,数字,alignment方式)
  • 图表
  • 图片
  • 形状
  • 注释
  • 保护
  • encryption
  • 数据透视表
  • 数据validation
  • 还有很多…

我很久以前用过这个,使用起来非常简单,速度非常快:

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

如果你需要使用xls(97到2003),你可以试试

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

在有限的情况下适合我。 你也可以看看:

由Artiom Chilaru ExcelLibrary(nuget)制作ExcelLibrary(源文件)

这是非常快速和高效的。