https://github.com/datajuggler/exceleratewinapp
This WinForms project makes it simple to create a C# Excel project using NuGet package DataJuggler.Excelerate and Blazor Excelerate https://excelerate.datajuggler.com
https://github.com/datajuggler/exceleratewinapp
Last synced: over 1 year ago
JSON representation
This WinForms project makes it simple to create a C# Excel project using NuGet package DataJuggler.Excelerate and Blazor Excelerate https://excelerate.datajuggler.com
- Host: GitHub
- URL: https://github.com/datajuggler/exceleratewinapp
- Owner: DataJuggler
- License: mit
- Created: 2023-07-23T09:34:21.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-09-11T19:41:53.000Z (almost 3 years ago)
- Last Synced: 2025-01-31T11:16:29.507Z (over 1 year ago)
- Language: C#
- Size: 348 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
8.14.2023 New Video
Create a Stock Predictor With C# and ML.NET Part I
https://youtu.be/hF8LkvwOXQY
7.24.2023: New Video
The Best C# Excel Library In The Galaxy
https://youtu.be/uWXiz52cqlg
# DataJuggler.ExcelerateWinApp
ExcelerateWinApp is a WinForms app designed to make it easy to load and save Excel objects
that were created using
Blazor Excelerate
https://excelerate.datajuggler.com
Code Generate C# Classes From Excel Header Rows
# Instructions to run this project:
To Install Via Nuget and DOT NET CLI, navigate to the folder you wish to create your project in
cd c:\Projects\ExcelerateWinApp
dotnet new install DataJuggler.ExcelerateWinApp
dotnet new DataJuggler.ExcelerateWinApp
or
Clone this project from GitHub https://github.com/DataJuggler/ExcelerateWinApp
# Setup Instructions
1. Create one or more classes from Excel Header Rows at
Blazor Excelerate
https://excelerate.datajuggler.com
Download the file MemberData.xlsx from the above site to see an example.
Use ExcelerateWinApp.Objects for the namespace or rename this project to your liking
2. Copy the classes created into the Objects folder of ExcelerateWinApp
3. Load Excel Worksheet(s) - Example is included in the UpdateButton_Click event
// load your object(s)
string workbookPath = FileSelector.Text;
// Example WorksheetInfo objects
WorksheetInfo info = new WorksheetInfo();
info.LoadColumnOptions = LoadColumnOptionsEnum.LoadAllColumnsExceptExcluded;
info.Path = workbookPath;
// Set your SheetName
info.SheetName = "Address";
// Example WorksheetInfo objects
WorksheetInfo info2 = new WorksheetInfo();
info2.LoadColumnOptions = LoadColumnOptionsEnum.LoadAllColumnsExceptExcluded;
info2.Path = workbookPath;
// Set the SheetName for info2
info2.SheetName = 'States";
// Example load Worksheets
Worksheet addressWorksheet = ExcelDataLoader.LoadWorksheet(workbookPath, info);
Worksheet statesWorksheet = ExcelDataLoader.LoadWorksheet(workbookPath, info2);
5. Load your list of objects
// Examples loading the Address and States sheet from MemberData.xlsx
List
addresses = Address.Load(addressWorksheet);
List states = States.Load(statesWorksheet);
6. Perform updates on your List of objects
For this example, I inserted a column StateName into the Address sheet in Excel and
added a few state names manually. You must add a few entries so the data type can be
attempted to be determined. Then I code generated Address and States classes using
Blazor Excelerate
https://excelerate.datajuggler.com
This method set the Address.StateName for each row by looking up the State Name by StateId
///
/// Lookup the StateName for each Address object by StateId
///
public void FixStateNames(ref List
addresses, List states)
{
// verify both lists exists and have at least one item
if (ListHelper.HasOneOrMoreItems(addresses, states))
{
// Iterate the collection of Address objects
foreach (Address address in addresses)
{
// get a local copy
int stateId = address.StateId;
// set the stateName
address.StateName = states.Where(x => x.Id == stateId).FirstOrDefault().Name;
// Increment the value for Graph
Graph.Value++;
// update the UI every 100
if (Graph.Value % 100 == 0)
{
Refresh();
Application.DoEvents();
}
}
}
}
7. Save your worksheet back to Excel
// resetup the graph
Graph.Maximum = addresses.Count;
Graph.Value = 0;
// change the text
StatusLabel.Text = "Saving Addresses please wait...";
// you must convert the list objects to List before it can be saved
List excelerateObjectList = addresses.Cast().ToList();
// Now save the worksheet
SaveWorksheetResponse response = ExcelHelper.SaveWorksheet(excelerateObjectList, addressWorksheet, info, SaveWorksheetCallback, 500);
8. (Optional) Leave a Star on DataJuggler.Excelerate, Blazor Excelerate or this project on GitHub
DataJuggler.Excelerate
https://github.com/DataJuggler/Excelerate
Blazor Excelerate
https://github.com/DataJuggler/Blazor.Excelerate
Excelerate Win App
https://github.com/DataJuggler/ExcelerateWinApp
9. (Optional) Subscribe to my YouTube channel
https://youtube.com/DataJuggler
# News
1.0.5:
7.24.203: Some bug fixes were found when I made this video. The project seems pretty stable.
7.24.2023: New Video
The Best C# Excel Library In The Galaxy
https://youtu.be/uWXiz52cqlg
Also, NuGet package DataJuggler.Excelerate was updated with links to this project.
1.0.0
7.23.2023: First Working Version Released