In the first 2 articles these. NET open source project you know what? Let. NET open source come out a little more violently and that. NET open source project you know what? make. NET open source more violent! In the (second series), the crowd was in high spirits. Once again come up with your own Sihuo, working with open source components related to documents on the. NET platform. Document processing is a very common task in development, such as exporting Excel, exporting Word, generating PDF reports, and so on. Let's take a look at the following today. NET open source project you know what? If it works, don't forget to recommend it. At the same time, personal capacity is limited, I hope you add.
. NET Open Source directory: "Directory" of this blog other. NET open source project articles Directory
The original address of this article: these. NET open source project you know what? (third edit). NET open source documents and report processing
1.Excle Artifact Npoi
Npoi is the. NET version of the POI project. Poi is an open source Java program that reads and writes Microsoft OLE2 component documents such as Excel, Word, and so on. Npoi let the. NET platform have a relatively sophisticated tool to read and write Excel. The usage is very wide, should be open source. NET Excel Read-write tool the most exposed one bar, not one.
The advantages of using Npoi are: completely free to use, contains most of Excel's features (cell style, data format, formulas, etc.), supporting the processing of file formats including XLS, XLSX, docx. Interface-oriented design architecture (you can view Npoi. SS namespace), while supporting file import and export, you do not need to install Microsoft Office on the server to avoid copyright issues. It's more convenient and user-friendly than the Office PIA API. So what are you waiting for? Here is the first time I use Npoi to do a daily report tool, the cell merge is in the program dynamic completion, the process is very difficult, but the results are very good, has been used for 2 years, stable without bugs, very to force AH.
Official website: http://npoi.codeplex.com/
Https://github.com/tonyqus/npoi
Official Tutorial: http://www.npoi.info/
2.NPOI extension-npoi. Css
Npoi. CSS is a npoi extension that can be used to set the cell style using the Npoi CSS method, only supported. NET4 and above versions of the project. This extension is designed to make it easy to set the cell and its associated formatting style when using it, which can be used in a way similar to CSS. Take a look at the following code:
1 |
cell.CSS( "color:red;font-weight:bold;font-size:11;font-name:宋体;border-type:thin;" ) |
Official website: https://github.com/qihangnet/npoi.css
3.yjinglee.office
Yjinglee.office for Excel operations under the. NET Platform, the main package Npoi provides a simpler and more practical API, providing the following feature points:
1. Read Excel data into object collection
2. Write the collection to Excel and provide the Excel style definition you can
Take a look at the code that reads Excel:
12345678910 |
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 Reporting Engine
Excelreport is a report engine component that is based on npoi development. It separates data from styles and formats based on the idea of separation of concerns. Let template hosting style, format, etc. npoi not good at and implement cumbersome information, combined with the advantages of NPOI data processing, Excel report generation to simplify. At the same time, the basic elements of the composition of the report are abstracted, which further simplifies the process of generating Excel reports.
Official website: https://github.com/hanzhaoxin/ExcelReport
Introduction article: Http://www.cnblogs.com/hanzhaoxin/p/4472860.html
5.Epplus
Epplus is an open source component that uses the Open Office XML (Xlsx) file format to read and write Excel 2007/2010 files. Compared to Npoi, it supported the XLSX format earlier, while Npoi supported Excel 2003, and now the new version of Npoi is starting to support xlsx. So there's a little difference between the two of them. Epplus I have not used, but very early heard, is also the use of a very official one, is also being updated. Look at the use of the needs of everyone. You can try it. The scope of support is also very wide, for example: cell merging, cell style, chart (this npoi is not very good at present), tables, data validation, formulas, VBA and so on.
Official website: http://epplus.codeplex.com/
6.LinqToExcel
Linqtoexcel is an open source project under the. NET platform, which mainly implements LINQ syntax for querying Excel spreadsheets. Type before the linqtoxxx if you are a LINQ grammar sugar enthusiast that suits you best. For example, the following code queries the header of the spreadsheet:
1234 |
var
excel =
new
ExcelQueryFactory(
"excelFileName"
);
var
indianaCompanies =
from
c
in excel.Worksheet<Company>()
where
c.State ==
"IN"
select
c;
|
Official website: https://github.com/paulyoder/
7.NetOffice components
The Netoffice component is a particularly powerful component that operates on office, including office, Excel, Word, Outlook, PowerPoint, Access, Project, Visio, and so on, so support is very comprehensive. But this component is not written entirely separately, but instead calls the interop assembly of Microsoft Office and VSTO, which is a deep encapsulation, so that you don't need to install these things, just copy the corresponding assemblies. Currently, there are 16 operating assemblies in total. Depending on your needs, you can select the appropriate assembly. It has several advantages:
1. There is no version limit for office;
2. Support office2000,2003,2007,2010,2013 version, is the support of all Office version, strong enough;
3. Support for independent development between versions
4. The syntax of the operation syntax is the same as that of Microsoft's interop assemblies; so it is easier to learn and use;
5. If you are familiar with the Office object model, you can use your existing PIA code without having to re-learn;
6. Optimized code for some COM operations
7. can be in. NET2.0 and above environment use;
8. Easy to deploy, no registration required, no dependent assemblies
Other functions look at official documents, if available, we have strong demand for this, can write articles specifically introduced.
Official website: http://netoffice.codeplex.com/
8.Word document Reading and writing tool docx
Docx is a lightweight way to manipulate word 2007/2010 files in a very intuitive and straightforward manner. NET components. It's very fast and doesn't need to install Microsoft Office software. In China, the free and small WPS has enough reason to let a lot of users abandon the huge office, that in the actual software development process, this thing is useful. Regret is not support 2003, but is always the trend of elimination, and with WPS, there is no version of the difference. currently supports inserting, deleting and replacing text in files, supporting all text formats, such as fonts, underscores, highlighting, etc., support for inserting images, hyperlinks, tables, header and footer, custom attributes, etc., support for a chain-like notation similar to jquery, it is convenient for programming development.
Compared to Excel, open-source operations Doc documents less components, this component can only reluctantly meet some basic functions. Encountered some high-level, pit or a lot. But in general, the general support is the first step, the project is currently in the update, look forward to more perfect. I wrote an article about basic use in 2013: "Original" open source Word read-write component docx introduction and Getting Started
Official website: http://docx.codeplex.com/
9.PDF Processing Components Pdfsharp
Create a PDF file format of the document, you must have thought, many people are certainly used in the project, methods, components must have a lot. But. NET platform open source free of charge is not much, the best use should be itextpdf, but people are non-commercial free, so we will exclude it. Take a look at the free, this pdfsharp is now relatively perfect, but also continuously updated. Support features include:
can be used. NET programming language to dynamically create PDF documents,
It's easy to use the object model to build documents,
All in C # rewriting the design and writing code,
You can generate PDF files and display them in a form or print,
Using the same source file, you can modify, merge, or split the PDF file,
You can control the transparency of the image, embed fonts, and so on. The overall support is comprehensive, but not personally tested.
Official website: http://www.pdfsharp.net/
10.MigraDoc Document Generator
Migradoc is a. NET platform open source document generator that almost supports all word processing features. You only need to add paragraphs, tables, or charts to the section, use bookmarks to create links, table contents, indexes, and so on. Migradoc automatically pagination and layout to generate Pdf,xps and RTF document formats. Overall, it is a simpler type of generic document generation tool. Its official website and Pdfsharp are together, and is currently in the update.
Official website: http://www.pdfsharp.net/
11.PdfReport Reporting Tools
Pdfreport is a reporting engine that supports Code-first, based on Itextsharp and epplus of open source projects. Support. NET 3.5 above to see a picture of the project:
Official website: http://pdfreport.codeplex.com/
12. File Difference comparison Diffplex
Diffplex is an open source C # text diff comparison software. supports environments such as. NET 4.0, Silverlight 5.0, Windows 8.0, Windows Phone 8.0, Windows Phone Appx 8.1. As shown in the following:
Official website: Https://github.com/mmanela/diffplex
13.ReportGenerator
Reportgenerator can convert XML reports generated by Opencover, Partcover, Visual Studio, or ncover to a more readable format. The above tools are code coverage analysis tools. The converted report has the following format:
1.HTML, Htmlsummary
2.XML, Xmlsummary
3.Latex, Latexsummary
4.TextSummary
5.Custom reports
The component has been continuously updated, for the purpose of testing people should have some help, have also seen the article use this component to show the analysis of the report, but do not understand, do not go into the drill.
Official website: https://github.com/danielpalme/ReportGenerator
14.BusyReports
Busyreports is a very handy application for generating reports from the SSRS Web service. Busyreports provides a GUI interface to facilitate configuration of report parameters, e-mail, file paths, etc. These configuration information is stored in 4 easy-to-edit tables. This component is similar to SQL Server data-driven subscriptions, but some of these restrictions are removed. The component is currently being updated. Look at the GUI configuration interface below:
Official website: http://busyreports.codeplex.com/
15.Seal Report
Seal report should be the best of the above, the most common one. It provides a complete schema for generating reports from any other database. The product is mainly focused on easy installation and report design, once installed, the report can be established and released soon. The component is fully open source and written in the C # language. Its main features are, 1. Dynamic SQL data Source: You can use SQL or let the seal engine build dynamic SQL for querying the database, 2. Local pivot table: simple drag and drop elements directly in the pivot table, and display them in the report, also support HTML5 charts, etc., go to the official website to see more details, Below is a look at 2 report design and report results:
Report results:
Official website: http://sealreport.codeplex.com/
. NET platform open source document and report processing components include execel PDF word, etc.