.NET平台开源文档与报表处理组件包括Execel PDF Word等

在前2篇文章这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,大伙热情高涨。再次拿出自己的私货,在.NET平台处理文档相关的开源组件。文档处理在开发中是一个非常常见的任务了,例如导出Excel,导出Word,生成PDF报表等等。那今天就看看下面这些.NET开源项目你知道不?如果有用,千万不要忘记推荐哦。同时个人能力有限,希望大家补充。

.NET开源目录:【目录】本博客其他.NET开源项目文章目录

本文原文地址:这些.NET开源项目你知道吗?(第三缉).NET开源文档及报表处理

1.Excle神器NPOI

NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。NPOI让.NET平台拥有了一个比较完善的读写Excel的工具。使用量非常广泛,应该是开源的.NET Excel读写工具中曝光度最高的一个吧,没有之一。

使用NPOI的优势有:完全免费使用,包含了大部分EXCEL的特性(单元格样式、数据格式、公式等等),支持处理的文件格式包括xls, xlsx, docx.采用面向接口的设计架构( 可以查看 NPOI.SS 的命名空间),同时支持文件的导入和导出,你不需要在服务器上安装微软的Office,可以避免版权问题。使用起来比Office PIA的API更加方便,更人性化。那么还等什么呢?下面就是我第一次使用NPOI做的一个日报表工具,里面的单元格合并都是在程序中动态完成的,过程很艰辛,但结果很美好,目前已经使用了2年,稳定无bug,非常给力啊。

官方网站:http://npoi.codeplex.com/

https://github.com/tonyqus/npoi

官方教程:http://www.npoi.info/

2.NPOI扩展—NPOI.CSS

NPOI.CSS是一个可以在使用NPOI时用类CSS的方法设置单元格样式的NPOI扩展,只支持.NET4及以上版本的项目。这个扩展是为了方便在使用的时候设置单元格及其相关格式样式,可以使用类似Css的方式,非常给力。看看下面的代码:


1

cell.CSS("color:red;font-weight:bold;font-size:11;font-name:宋体;border-type:thin;")

官方网站:https://github.com/qihangnet/npoi.css

3.yjinglee.office

  yjinglee.office用于.Net平台下的Excel操作,主要封装NPOI对外提供更简单实用的API,提供以下功能点:

1.读取Excel数据转换成对象集合
2.写入集合到Excel,并提供可以Excel样式定义

  看看一段读取Excel的代码:


1

2

3

4

5

6

7

8

9

10

var Reports = new Collection();

for (var i = 0; i < 10; i++)

{

    Reports.Add(new Report {Id = i*100, Name = Guid.NewGuid().ToString()});

}

var excel = new Excel(new DefaultStyle());//创建Excel实例,可以传递不同的样式实例

excel.CreateSheet("Test");//创建一个Sheet,命名为Test

excel.WriteObject(Reports, 0, 0);//在Sheet0中的第0行写入集合

excel.SetColumnWidth(0, 0, new [] {5, 35});//在Sheet0的第0列开始依次设置列宽

excel.WriteFile(Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "demo.xlsx"));//保存文件

4.ExcelReport报表引擎

ExcelReport是一款基于NPOI开发的报表引擎组件。它基于关注点分离的理念,将数据与样式、格式分离。让模板承载样式、格式等NPOI不怎么擅长且实现繁琐的信息,结合NPOI对数据的处理的优点将Excel报表的生成化繁为简。同时,对报表组成的基本元素进行了抽象,进一步简化了Excel报表的生成过程。

官方网站:https://github.com/hanzhaoxin/ExcelReport

介绍文章:http://www.cnblogs.com/hanzhaoxin/p/4472860.html

5.Epplus

Epplus是一个使用Open Office XML(Xlsx)文件格式,读写Excel 2007/2010文件的开源组件。和NPOI相比,它更早的支持了Xlsx格式,而NPOI支持Excel 2003更好,现在新版本的NPOI也开始支持Xlsx了。所以他们两个还是有一点区别的。Epplus我没用过,但很早就听说了,也是使用非常官方的一个,目前也一直在更新。看大家的使用需求了。可以尝试一下。支持的范围也很广,例如:单元格合并,单元格样式,图表(这个NPOI目前还不是很好),表格,数据验证,公式,VBA等等。

官方网站:http://epplus.codeplex.com/

6.LinqToExcel

LinqToExcel是一个.NET平台下开源项目,它主要实现了LINQ的语法查询Excel电子表格。类型之前的LINQToXXX如果你是LINQ语法糖爱好者那最适合你。例如,下面代码,查询电子表格的头:


1

2

3

4

var excel = new ExcelQueryFactory("excelFileName");

var indianaCompanies = from in excel.Worksheet<Company>()

                       where c.State == "IN"

                       select c;

官方网站:https://github.com/paulyoder/

7.NetOffice组件

  NetOffice组件比较特别,是一个操作Office的强大组件,包括处理Office, Excel, Word, Outlook, PowerPoint, Access, Project, Visio等,所以支持非常全面。但是这个组件并不是完全单独写的,而是调用Microsoft Office的互操作程序集以及VSTO,也就是进行了一个深度的封装,从而让你不需要安装这些东西,只需要拷贝相应的程序集就可以了。目前一共包括16个操作的程序集。根据你的需要可以选择相应的程序集。它有几个优点:

1.没有Office的版本限制;
2.支持Office2000,2003,2007,2010,2013版本,就是支持全部Office的版本,足够强大;
3.支持版本之间的独立开发
4.操作语法和Microsoft的互操作程序集的语法是一样的;因此更加易于学习和使用;
5.如果你熟悉Office对象模型,你可以使用你现有的PIA代码,不需要重新学习;
6.优化了一些COM操作的代码
7.可以在.NET2.0及以上环境使用;
8.部署方便,不需要注册,没有依赖的程序集

  其他的功能看官方文件介绍,如果有空,大家对这个需求强烈,可以写文章专门介绍。

官方网站:http://netoffice.codeplex.com/

8.Word文档读写工具Docx

DocX是一个以非常直观简单的方式操作Word 2007/2010文件的轻量级.NET组件。它的速度非常快,而且不需要安装微软的Office软件。在中国,免费并且小巧的WPS有足够的理由让很多用户放弃庞大的Office,那在实际软件开发过程中,这玩意就有用处了。遗憾是不支持2003,但总归是被淘汰的趋势,而且用WPS,也没有啥版本的区别。目前支持在文件中插入、删除和替代文本,支持所有的文本格式,如字体,下划线,高亮等;支持插入图片、超链接、表格、页眉页脚以及自定义属性等;支持类似JQuery的链式写法,很方便编程开发。

相比Excel来说,开源的操作Doc文档的组件比较少,这个组件只能勉强满足一些基本功能吧。遇到一些高级的,坑还是很多。但总的来说,常规支持是第一步吧,该项目目前也在更新中,期待更加完善。我在2013年曾经写过一篇介绍基本使用的文章:【原创】开源Word读写组件DocX介绍与入门

官方网站:http://docx.codeplex.com/  

9.PDF处理组件PDFsharp

生成PDF文件格式的文档,大家肯定有想过,很多人项目中也肯定用过,方法、组件肯定有很多。但是.NET平台开源免费的不多,最好用的应该是ItextPDF,不过人家是非商业免费,所以我们就排除在外吧。看看免费的,这个PDFSharp是目前比较完善,而且还在持续更新的。支持功能有:

可以使用.NET编程语言动态创建PDF文档,

很容易使用对象模型来构建文档,

全部用C#重写设计和编写代码,

可以生成PDF文件和显示在窗体或者打印,

使用同一源文件,可以修改、合并或者分割PDF文件,

可以控制图片的透明度,嵌入了字体等等。支持总体算全面吧,不过没有亲自测试过。

官方网站:http://www.pdfsharp.net/

10.MigraDoc文档生成器

MigraDoc是一个.NET平台开源的文档生成器,几乎支持所有的文字处理功能。你只需要添加段落,表格,或者图表到节中,使用书签来创建链接,表格内容,索引等等。MigraDoc会自动进行分页和布局,可以生成PDF,XPS以及RTF文档格式。总的来说,是一个更简单类型的通用文档生成工具。它的官方网站和PDFsharp是一起的,目前也是在更新中。

官方网站:http://www.pdfsharp.net/

11.PdfReport报表工具

PdfReport 是一个支持code-first的报表引擎,建立在开源项目iTextSharp和 EPPlus基础上。支持.net 3.5以上,看看项目的一个图片:

官方网站:http://pdfreport.codeplex.com/

12.文件差异比较diffplex

diffplex是一个开源的C#文本差异比较软件。支持.NET 4.0, Silverlight 5.0, Windows 8.0, Windows Phone 8.0, Windows Phone Appx 8.1等环境。如下图所示:

官方网站:https://github.com/mmanela/diffplex

13.ReportGenerator

  ReportGenerator可以将OpenCover, PartCover, Visual Studio 或者NCover生成的XML报表转换为可读性更加好的格式。上面这几个工具都是代码覆盖率分析工具。转换后的报表有以下格式:

1.HTML, HTMLSummary

2.XML, XMLSummary

3.Latex, LatexSummary

4.TextSummary

5.Custom reports

  该组件目前一直在持续进行更新,对于专门做测试方面的人应该有些帮助,曾经也看到过文章使用这个组件来展示分析后的报表,不过不太懂,不去深究。

   官方网站:https://github.com/danielpalme/ReportGenerator

14.BusyReports

  BusyReports是一个非常方便的从SSRS Web 服务生成报表的应用程序。BusyReports提供了一个GUI界面,可以方便配置报表参数,电子邮件,文件路径等。这些配置信息存储在4个易于编辑的表格中。该组件与SQL Server数据驱动订阅类似,但删除了其中一些限制。该组件目前一直在更新。看下面的 GUI 配置界面:

官方网站:http://busyreports.codeplex.com/

15.Seal Report

  Seal Report应该是上面这几个之中最好用,最常用的一个。它提供了一个完整的从其他任何数据库产生报表的架构。该产品主要关注于容易安装和报表设计,一旦安装好,报表很快就可以建立并且发布。该组件完全开源,使用C#语言编写。其主要特征有,1.动态SQL数据源:可以使用SQL或让Seal引擎构建动态SQL用于查询数据库,2.本地数据透视表:直接在数据透视表简单的拖放元素,并将它们显示在报表中,还支持HTML5图表等,详细去官网看看,下面看2张报表设计和报表结果的截图:

报表结果:

官方网站:http://sealreport.codeplex.com/

时间: 2024-11-06 00:45:58

.NET平台开源文档与报表处理组件包括Execel PDF Word等的相关文章

关于开源文档:程序员可能忽略的十件事

大多数开源开发人员喜欢思考他们构建软件的质量,但其文档的质量常常被遗忘.没有人谈论一个项目的文档是多么出色,但其实文档对一个项目的成功却有直接的影响.没有一个良好的文档可能用户根本不会使用你的项目,亦或者压根不会喜欢. 然而大多数开源项目的文档都是令人极其失望的,主要从以下的几个方面来体现. 1. 缺乏一个好的自述或介绍 自述是潜在用户对你项目的第一印象.如果项目在 GitHub 上,自述自动的显示在该项目的主页上.如果你稍微不留神将自述弄错了,这些潜在的用户有可能再也不会回来了.所以你的项目必

使用docsify 写开源文档

使用docsify 写开源文档 官网:https://docsify.js.org/#/ docsify 是一个动态生成文档网站的工具.不同于 GitBook.Hexo 的地方是它不会生成将 .md 转成 .html 文件,所有转换工作都是在运行时进行. 这将非常实用,如果只是需要快速的搭建一个小型的文档网站,或者不想因为生成的一堆 .html 文件"污染" commit 记录,只需要创建一个 index.html 就可以开始写文档而且直接部署在 GitHub Pages. 一.初始化

拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布

今天上海的天气真是不错,风和日丽.再次来到微软上海紫竹研发中心,心情很是愉快,喜欢这里的大草坪,喜欢这里的工程气氛,更喜欢今天来陪我的小伙伴们. 这次动手实验培训与以往最大的不同就是采用了开源文档的方式.其实,小编一直在寻找一种更好的技术文档编写方式.说到文档,我在过去的几年中也写了不下500份不同类型的文档.我估计,每个写过技术文档的同学都有类似这样的文件夹. 是不是很有一种蛋疼的感觉,没有办法啊,需求改来改去,客户的要求变来变去 … … 最后么,就没有最后了,你就自己苦逼去吧. 所以,自从开

【VMware虚拟化解决方案】VMware Horizon View Client 各平台配置文档

云桌面用户手册 XXXX部 2014年05月18日 文档版本 文档名称 XXXX公司云桌面用户手册 保密级别 商密 文档版本编号 1.0 制作人 制作日期 2014-04-24 复审人 复审日期 扩散范围 公司内部使用人员 变更记录 版本编号 版本日期 修改者 说明 文档说明 此文档为XXXX公司内部员工关于<云桌面用户手册>培训文档. 此文档只对公司内部员工传阅,并只针对公司内部员工问题给予解决. 目录 1.VMware Horizon View Client下载地址... 4 2.桌面连接

微信公众平台开发者文档

微信公众平台开发者文档 公众平台开发接口介绍微信公众平台开发者文档,布布扣,bubuko.com

Windows7下使用sphinx生成开源文档(原)

作者这里以osgearth文档为例,感觉这种生成文档的方式比较好,生成的html文档是支持搜索的,感谢开源工作者的奉献.赞一个 1. 下载并安装python for windows:https://www.python.org/downloads/windows/ 2.下载安装setup tools下载easy_stall.py 并运行https://pypi.python.org/pypi/setuptools#windows-7-or-graphical-install,可以找到window

[转]自己动手制作chm格式开源文档

转自:自己动手制作chm格式开源文档 下面我就来介绍一款工具来快速将html文档转化为chm格式文档: 这里需要两款工具:1.htmlhelp.EXE  2.jd2chm.exe, 工具下载地址:点我点我~ 1. 一般情况下我们要先安装htmlhelp.EXE,而jd2chm.exe是不需要安装的,待htmlhelp.EXE安装成功后,可能需要重启电脑 2.重启过后,我们将jd2chm.exe复制到html文档的所在的目录下,如下图: 转注:在这里你也可以将jd2chm.exe文件房在C:\WI

.NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍

Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器学习算法以及提供计算机视频.音频.信号处理以及统计应用相关的解决方案.该项目使用C#语言编写,项目主页:http://accord-framework.net/ 说明:该文章只是一个基本介绍,主要内容是翻译的官方文档和介绍,部分英文表述个人能力有限,不太熟悉,所以直接照搬原文,有比较确切的知道中文名

怎样将纸质文档经过扫描文件的方式转化成word?

中华民族作为一个屹立于世界上下五千年的民族,有着博大精深的文化底蕴,而我们大部分的纸质书籍也是存放比较完整的.前几日小编看了一本林徽因的书,觉得里面有些话比较好,于是我就用手机上的一款小程序扫描下来,保存到了手机上,当然也可以传送到电脑上.今天小编就教大家在没有纸笔的情况下怎样将我们想要记住的内容给保存起来. 具体操作: 第一步:首先,需要借助一种OCR文字识别软件工具来帮助我们,可以在百度或者软件管家内搜索并下载到我们的电脑里. 第二步:将我们下载安装好的OCR文字识别软件工具打开,可以进入到