IExportEngine
iTin Export Engine (ITEE). Is a standalone engine for data export of XML, DataSets, typed ArrayList, DataRow array inputs by native/custom writers to MS Excel, Comma-Separated Values (csv), Tab-Separated Values (txt), SQL Script (sql), XML Spreadsheet 2003 (xml), Portable Document Format (pdf), MS Excel (xlsx), MS Word (docx), using an XML configuration file or by code
Install / Use
/learn @iAJTin/IExportEngineREADME
What is iExportEngine?
iTin Export Engine (ITEE) is a standalone engine for data export that allows developers use a modular system based in Managed Extensibility Framework (MEF).
You can export easily data from XML, DataSets, typed ArrayList, DataRow array inputs by native/custom writers to MSExcel, Comma-Separated Values (csv), Tab-Separated Values (txt), SQL Script (sql), XML Spreadsheet 2003 (xml), Portable Document Format (pdf), MS Excel (xlsx), MS Word (docx), using an XML configuration file.
Install via NuGet
- From nuget gallery
- From package manager console
PM> Install-Package iTin.Export.Core
PM> Install-Package iTin.Export.Writers.Adobe
PM> Install-Package iTin.Export.Writers.OpenXml.Xlsx
PM> Install-Package iTin.Export.Writers.OpenXml.DocX
Samples Project (iTinExportEngineSamples)
Writers samples
1. Comma-Separated Values [ csv ]
Using the native writer CsvWriter, allows you to create .csv files.
Sample1
Creates a simple inventory list.
-
Text View ![CSV sample 1 output][img0]
-
MS Excel View ![CSV sample 1 output][img1]
2. Markdown [ md ]
Currently the development is in progress..., a small example of fully functional use is shown.
Using the native writer MarkdownWriter, allows you to create .md files.
Sample1
Creates a simple inventory list.
![Markdown sample 1 output][img2]
Sample2
Creates a large customer list.
![Markdown sample 2 output][img3]
3. MS Excel [ xlsx ]
Using the writer XlsxTabularWriter, this writer requires iTin.Export.Writers.OpenXml.Xlsx. Allow you to create .xlsx files.
- EPPlus
Sample1
Simply Creates A New Workbook From Scratch. The Workbook Contains One Worksheet With A Simple Invertory List.
![EPPlus sample 1 output][img4]
Sample1 (From code)
Same as Sample1 but by code.
![EPPlus sample 1 from code output][img5]
Sample2
Equals Sample1 and a Piechart.
![EPPlus sample 2 output][img6]
Sample3
Use Stacked Charts.
![EPPlus sample 3 output][img7]
Sample4
Use charts with more than one chart type and secondary axis.
![EPPlus sample 4 output][img8]
Sample5
Use Pivot Tables (comming soon...)
Sample6
Use Mini Charts.
![EPPlus sample 6 output][img10]
Sample7
Creates a new workbook from custom enumerated data type (5000 rows).
![EPPlus sample 7 output][img11]
Sample8
Create a spreadsheet but where only the headers are shown.
![EPPlus sample 8 output][img12]
Sample9
Create a spreadsheet where the value of a field is not displayed.
![EPPlus sample 9 output][img13]
- ExportEngine
Sample1
Equals to EPPlus sample1 with an image banner with effects and custom data table location.
![ExportEngine sample 1 output][img14]
Sample2
How to use group fields, Creates a new customer field.
![ExportEngine sample 2 output][img15]
Sample3
How to creates a column header fields.
![ExportEngine sample 3 output][img16]
Sample4
Sample with groups, headers, banner and aggregate's functions.
![ExportEngine sample 4 output][img17]
Sample5
How to use simple filters.
![ExportEngine sample 5 output][img18]
Sample6
How to use conditions.
![ExportEngine sample 6 output][img19]
Sample7
How to add block lines.
![ExportEngine sample 7 output][img20]
Sample8
How to use gap field type.
![ExportEngine sample 8 output][img21]
Sample9
How to use fixed width field type.
![ExportEngine sample 9 output][img22]
Sample10
How to use binded functions.
![ExportEngine sample 10 output][img23]
Sample11
Custom output filename.
![ExportEngine sample 11 output][img24]
Sample12
Custom output filename from binding.
![ExportEngine sample 12 output][img25]
Sample13
How to change the width of the fields.
![ExportEngine sample 13 output][img26]
4. MS Word [ docx ]
Currently the development is in progress..., a small example of fully functional use is shown.
Using the writer DocxTabularWriter, this writer requires iTin.Export.Writers.OpenXml.Docx. Allow you to create .docx files.
![Docx sample 1 output][img27]
Sample1
Equals to EPPlus sample1
5. Portable Document Format [ pdf ]
Currently the development is in progress..., a small example of fully functional use is shown.
Using the writer PdfTabularWriter, this writer requires iTin.Export.Writers.Adobe. Allow you to create .pdf files.
Sample1
Equals to EPPlus sample1
![Pdf sample 1 output][img28]
6. SQL Script [ sql ]
Currently the development is in progress..., a small example of fully functional use is shown.
Using the native writer SqlScriptWriter, allows you to create .sql files.
Sample1
Equals to EPPlus sample1
![Sql sample 1 output][img29]
7. Tab-Separated Values [ txt ]
Using the native writer TsvWriter, allows you to create .txt files.
Sample1
Equals to CSV sample1
-
Text View ![Txt sample 1 output][img30]
-
MS Excel View ![Txt sample 1 output][img31]
8. XML Spreadsheet 2003 [ xml ]
Currently the development is in progress..., a small example of fully functional use is shown.
Using the native writer Spreadsheet2003TabularWriter, allows you to create .xml files.
Sample1
Equals to EPPlus sample1
![Xml Spreadsheet 2003 sample 1 output][img32]
Template samples
1. DocxTemplateSample01
This sample generates several documents in MS Word format (one for each entry in the reference table) from a .docx document that acts as a template.
Below are the steps to follow:
-
Template (Uses DocxFreeTemplateWriter, a builtin template writer)
Any document in docx format, where each field that we want to appear will be prefixed / suffixed (optional) with the characters we consider appropriate.
Input template
![TemplateOutputFolder.png][img50]
-
Data input (For simplicity an xml file has been used as input)
<?xml version="1.0" encoding="utf-8"?>
<ARD740>
<R740D01 PERCENT="23.62" CMCUST="0028539" CMNAME="FIBER CORPORATION " CMADR1="34570 RANDOM DRIVE " CMCITY="NEW LONDON " CMZIP="28127 " />
<R740D01 PERCENT="22.10" CMCUST="0322292" CMNAME="FIBERLOCK TECH " CMADR1="150 DASCOMB ROAD " CMCITY="ANDOVER " CMZIP="01810 " />
<R740D01 PERCENT="23.67" CMCUST="-0206947" CMNAME="FIBERTAK "INC " CMADR1="1180 N MT SPRINGS PKWY " CMCITY="SPRINGVILLE " CMZIP="84663 " />
<R740D01 PERCENT="10.0" CMCUST="0209192" CMNAME="FIDELITY CONTAINER " CMADR1="4039 ROCK QUARRY RD #400 " CMCITY="DALLAS " CMZIP="75211 " />
<R740D01 PERCENT="10.0" CMCUST="0035841" CMNAME="CONTAINER " CMADR1="240 MAIN STREET " CMCITY="MARSEILLES " CMZIP="61341 " />
<R740D01 PERCENT="10.0" CMCUST="0034802" CMNAME="FIELDALE " CMADR1="5282 GAINESVILLE HIGHWAY " CMCITY="BALDWIN " CMZIP="30511 " />
<R740D01 PERCENT="10.0" CMCUST="0028839" CMNAME="FIESTA WAREHOUSE & DIST." CMADR1="5050 STOUT DRIVE " CMCITY="SAN ANTONIO " CMZIP="78219 " />
<R740D01 PERCENT="10.0" CMCUST="0033511" CMNAME="FILM SALVAGE " CMADR1="3575 NORTH HIGHWAY 91 " CMCITY="MOUNTAIN CITY " CMZIP="37683 " />
<R740D01 PERCENT="10.0" CMCUST="zzz0916610" CMNAME="FILMTECH INCORP. " CMADR1="581 MCDONALD AVENUE " CMCITY="BROOKLYN " CMZIP="11218 " />
<R740D01 PERCENT="10.0" CMCUST="0369019" CMNAME="FINA OIL & CHEMICAL CO " CMADR1="2970 PARROTT AVE " CMCITY="ATLANTA
