DataJuggler.Excelerate 1.3.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package DataJuggler.Excelerate --version 1.3.4
                    
NuGet\Install-Package DataJuggler.Excelerate -Version 1.3.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DataJuggler.Excelerate" Version="1.3.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DataJuggler.Excelerate" Version="1.3.4" />
                    
Directory.Packages.props
<PackageReference Include="DataJuggler.Excelerate" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DataJuggler.Excelerate --version 1.3.4
                    
#r "nuget: DataJuggler.Excelerate, 1.3.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=DataJuggler.Excelerate&version=1.3.4
                    
Install DataJuggler.Excelerate as a Cake Addin
#tool nuget:?package=DataJuggler.Excelerate&version=1.3.4
                    
Install DataJuggler.Excelerate as a Cake Tool

Excelerate uses EPPPlus version 4.5.3.3 (last free version), and it makes it easy to load Workbooks or Worksheets. Excelerate now has a code generation feature, you can create a C# class from a header row.

I have a couple of clients that I build programs that automate combining columns from multiple Worksheets to form reports.

Rather than continue to write custom loaders, I really only need custom Exporters in most cases, so I created this project.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on DataJuggler.Excelerate:

Package Downloads
DataJuggler.Blazor.Components

This project consists of a TextBoxComponent, Multiline TextBox, CheckBox, ComboBox, CheckedListComboBox, CheckedListBox, Grid, Label, Calendar Component, Time Component and more. The CSS file DataJuggler.Blazor.Components.css contains many useful classes to help style and position objects. This version is for .Net 9.0.

DataJuggler.SQLSnapshot

SQL Snapshot allows you to export a SQL Server database and all data rows to Excel with one line of code passing in a connectionstring and a path.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
9.0.3 38 4/10/2025
9.0.2 157 2/10/2025
9.0.1 843 11/26/2024
9.0.0 223 11/13/2024
8.0.10 1,156 9/13/2024
8.0.9 763 9/11/2024
8.0.8 2,549 5/19/2024
8.0.7 122 5/19/2024
8.0.6 125 5/19/2024
8.0.5 646 5/4/2024
8.0.4 1,305 12/29/2023
8.0.3 439 12/29/2023
8.0.2 1,352 12/26/2023
8.0.1 591 11/17/2023
8.0.0 1,794 11/14/2023
7.4.6 1,249 8/28/2023
7.4.5 1,363 8/26/2023
7.4.4 896 8/13/2023
7.4.3 459 8/13/2023
7.4.2 669 7/24/2023
7.4.1 447 7/24/2023
7.4.0 512 7/23/2023
7.3.21 652 7/22/2023
7.3.20 665 7/22/2023
7.3.1 476 7/21/2023
7.3.0 493 7/16/2023
7.2.12 2,258 4/10/2023
7.2.11 540 4/10/2023
7.2.10 550 4/5/2023
7.2.9 607 4/2/2023
7.2.8 552 4/2/2023
7.2.7 532 4/1/2023
7.2.6 540 3/28/2023
7.2.5 544 3/28/2023
7.2.4 528 3/28/2023
7.2.3 537 3/28/2023
7.2.2 516 3/28/2023
7.2.1 515 3/28/2023
7.2.0 532 3/28/2023
7.1.12 546 3/28/2023
7.1.11 533 3/28/2023
7.1.10 540 3/28/2023
7.1.9 8,604 12/25/2022
7.1.8 6,046 12/16/2022
7.1.7 652 12/16/2022
7.1.6 959 12/11/2022
7.1.5 852 12/11/2022
7.1.4 2,710 12/4/2022
7.1.3 826 12/4/2022
7.1.2 654 12/4/2022
7.1.1 847 12/4/2022
7.1.0 4,428 11/15/2022
7.0.16 1,179 11/11/2022
7.0.15 702 11/11/2022
7.0.14 694 11/11/2022
7.0.12 674 11/11/2022
7.0.11 683 11/11/2022
7.0.10 653 11/10/2022
7.0.9 880 11/10/2022
7.0.8 677 11/10/2022
7.0.7 660 11/10/2022
7.0.6 664 11/10/2022
7.0.5 652 11/9/2022
7.0.4 878 11/9/2022
7.0.4-rc1 463 11/8/2022
7.0.3-rc1 494 11/7/2022
7.0.2-rc1 542 11/7/2022
7.0.1-rc1 446 11/7/2022
7.0.0-rc1 458 10/31/2022
6.0.3 953 9/28/2022
6.0.2 761 9/28/2022
6.0.1 1,039 4/1/2022
6.0.0 1,030 1/23/2022
1.7.3 778 11/30/2021
1.7.2 651 11/30/2021
1.7.1 650 11/30/2021
1.7.0 667 11/30/2021
1.6.0 642 11/29/2021
1.5.0 744 11/10/2021
1.4.4 755 11/8/2021
1.4.3 684 11/8/2021
1.4.2 698 11/8/2021
1.4.1 682 11/8/2021
1.4.0 685 11/8/2021
1.3.12 650 11/7/2021
1.3.10 683 11/7/2021
1.3.9 733 11/7/2021
1.3.8 771 11/7/2021
1.3.7 763 11/7/2021
1.3.6 817 11/7/2021
1.3.5 762 11/5/2021
1.3.4 759 11/5/2021
1.3.3 733 11/5/2021
1.3.2 770 11/5/2021
1.3.1 682 11/2/2021
1.3.0 661 11/2/2021
1.2.8 715 11/1/2021
1.2.7 674 10/31/2021
1.2.6 671 10/31/2021
1.2.5 748 10/31/2021
1.2.4 782 10/31/2021
1.2.3 745 10/31/2021
1.2.2 710 10/31/2021
1.2.1 708 10/31/2021
1.2.0 764 10/31/2021
1.1.9 668 10/16/2021
1.1.8 745 10/16/2021
1.1.7 705 10/14/2021
1.1.6 677 10/13/2021
1.1.5 710 9/21/2021
1.1.4 709 9/20/2021
1.1.3 694 9/20/2021
1.1.2 715 9/17/2021
1.1.1 691 9/17/2021
1.0.3 628 9/15/2021
1.0.2 660 9/14/2021
1.0.1 668 9/14/2021
1.0.0 704 9/14/2021

11.4.2021 (Take Three)
Version 1.3.4: I discovered too late the ExcelHelper.Save method is not static.

11.4.2021 (Take Two)
Version 1.3.3: My previous Save method had the return value in the wrong place.

Hopefully this fixes it. I am too lazy to add the project and propertly debug it.

11.4.2021
Version 1.3.2: While working on Save I realized I needed to return the row from the code generated Save method
so Excel can be updated. Save is still being tested, so use with caution.

11.2.2021 (Take Two)
Version 1.3.1: The previous version code generated the Save method incorrectly. This should fix it.

11.2.2021
Version 1.3.0: I now code generate a Save method, so the current Row.Column's ColumnValues are updated with the current value of this object.

11.1.2021
Version 1.2.8: I updated Worksheet.Columns is now set to first row.Columns when the Worksheet is loaded.
I added a NewRow method, that returns a new row with the columns set.
I updated AttemptToDetermineDataType to set ZipCode and PostalCode fields to a string, not an integer.

Code Generating a Save method is next I think.

10.31.2021 (Take Eight)
This time, DataJuggler.UlimateHelper was updated. The ParseBoolean method got an upgrade.

10.31.2021 (Take Seven)
Version 1.2.6: I updated ParseBoolean to use DataJuggler.UltimateHelper.BooleanHelper.ParseBoolean. We will see if this converts a 1 to a true and a zero to a false. I think it does after 11 years.

10.31.2021: (Take Six)
Version 1.2.5: I fixed Active being a boolean, and discovered the LoadMethod was trying to set bool columns to a string value.

10.31.2021: (Take Five)
Version 1.2.4: I fixed the Active field = boolean. I need an else so the data type didn't get set to Int further in the AttemptToDetermineDataType method.

10.31.2021: (Take Four)
Version 1.2.3: Added a check for data type boolean. To make this work, convert Excel bool values to True False vs 0 and 1.

10.31.2021 (Take Three)
Version 1.2.2: Code generation is fixed with a reference to System is needed since Guid RowId has been added.

10.31.2021 (Take Two)
Version 1.2.1: I messed up the code generation in Version 1.2.0 because the RowId field wasn't getting a field name written. Should work now.

10.31.2021:
Version 1.2.0: The code generation of the RowId seems to work, so the 1.2 version starts the Saving features.

10.31.2021
Version 1.1.10: I added RowNumber and Id (Guid) to class Row to help in saving, which I am just starting.

10.16.2021
Version 1.1.9: I added a new method LoadAllData, which returns a DataJuggler.Excelerate.Workbook, which contains all DataJuggler.Excelerate.Worksheets, which contain all DataJuggler.Excelerate.Rows of data.

10.16.2021:
Version 1.1.8: AppendPartialGuid is now an optional parameter, and only if true will the partial guid be appended to the filename.


10.14.2021:
Version 1.1.7: CodeGenerator.GenerateClassFromWorksheet now returns an object of type CodeGenerationResponse. Previous version only returns a boolean, which wasn't very helpful for the caller.

10.13.2021: New override for GetSheetNames takes a path argument.
I am working on a new Blazor project called Blazor.Excelerate to demo this project.

9.21.2021
Version 1.1.5:
I created an ExcelHelper class because I needed the GetColumnLetter feature of ExcelCellAddress.

9.20.2021
Version 1.1.4:
I updated ExcelDataLoader to havea  LoadPackage method.

9.20.2021:
Version 1.1.3:
I added an OriginalFileName property to class Column, so the exported column header can be the same as the original.

9.17.2021
Version 1.1.2:
The Code Generator class is now finished, and a Load method has been updated to test for
a null row or null row.Columns just to be safer.

More updates may come in the future, but for now I have completed what I started this project for.
For the amount of effort I put into this, I think the return on investment is quite satisfactory as
now I can build Excel projects much faster.

9.17.2021
Version 1.1.1: I now code generate a Load method with the Code Generator, so a Row can be used to load an instance of the class created. This is still being tested.

9.15.2021
Version 1.0.3: I added a LoadWorksheet override, so clients do not have to load a Workbook to get
to a single worksheet.

This is the first release. I have just begun adding classes and helper methods to this. It does work for now to load a worksheet and all the Rows / Columns. Each column is loaded as an object ColumnValue, than properties exist that cast the ColumnValue as a bool, datetime, Decimal or other types.