XlsxToHtmlConverter 1.2.18
See the version list below for details.
dotnet add package XlsxToHtmlConverter --version 1.2.18
NuGet\Install-Package XlsxToHtmlConverter -Version 1.2.18
<PackageReference Include="XlsxToHtmlConverter" Version="1.2.18" />
paket add XlsxToHtmlConverter --version 1.2.18
#r "nuget: XlsxToHtmlConverter, 1.2.18"
// Install XlsxToHtmlConverter as a Cake Addin #addin nuget:?package=XlsxToHtmlConverter&version=1.2.18 // Install XlsxToHtmlConverter as a Cake Tool #tool nuget:?package=XlsxToHtmlConverter&version=1.2.18
XlsxToHtmlConverter v1.2.18
A Xlsx to Html file converter and parser. Support cell fills, fonts, borders, alignments, and other styles. Support custom column widths, row heights, and merged cells. Support numbering and basic conditional formats. Support multiple sheets and hidden sheets. Support pictures. Support progress callback. Only depends on the Microsoft Open Xml SDK.
Dependencies
DocumentFormat.OpenXml = 2.20.0
Main Features
- Cell fills, fonts, borders, alignments, and other styles
- Custom column widths and row heights
- Vertical and horizontal merged cells
- Numbering formats and basic conditional formats
- Sheet tab titles, colors, and hidden sheets
- Picture embeddings as Base64 images
- Conversion progress callback
Original Xlsx File
Converted Html File
How to Use
Only one line to convert a Xlsx file to Html with the use of Stream
.
XlsxToHtmlConverter.Converter.ConvertXlsx(inputStream, outputStream);
Or to convert with specific ConverterConfig
and progress callback.
XlsxToHtmlConverter.Converter.ConvertXlsx(inputStream, outputStream, config, progressCallback);
Convert Local Files
Just use a string
of the path to the file instead of a Stream
to convert a local Xlsx file.
string filename = @"C:\path\to\file.xlsx";
XlsxToHtmlConverter.Converter.ConvertXlsx(filename, outputStream);
A third optional parameter can be set to decide whether to use MemoryStream
or FileStream
. When set to false
, it uses a FileStream
to read the file instead of loading the entire file into a MemoryStream
at once, which reduces the memory usage for larger files but at the cost of slowing down the conversion significantly.
XlsxToHtmlConverter.Converter.ConvertXlsx(filename, outputStream, false);
Conversion Configurations
ConverterConfig
include flexible and customizable conversion configurations.
In cases where the converter is unable to produce the correct stylings, it is suggested to set
ConvertStyles
tofalse
, which will ensure the conversion of all the content with default stylings.
XlsxToHtmlConverter.ConverterConfig config = new XlsxToHtmlConverter.ConverterConfig()
{
PageTitle = "My Title",
PresetStyles = XlsxToHtmlConverter.ConverterConfig.DefaultPresetStyles + "body { background-color: skyblue; } table { width: 100%; }",
ErrorMessage = "An error occured: {EXCEPTION}",
Encoding = System.Text.Encoding.UTF8,
ConvertStyles = true,
ConvertSizes = true,
ConvertPictures = true,
ConvertSheetTitles = true,
ConvertHiddenSheets = false,
ConvertFirstSheetOnly = false,
ConvertHtmlBodyOnly = false
};
Progress Callback
A progress callback event can be set up with ConverterProgressCallbackEventArgs
, where things like ProgressPercent
can be used.
EventHandler<XlsxToHtmlConverter.ConverterProgressCallbackEventArgs> progressCallback = ConverterProgressCallback;
private static void ConverterProgressCallback(object sender, XlsxToHtmlConverter.ConverterProgressCallbackEventArgs e)
{
string info = string.Format("{0:##0.00}% (Sheet {1} of {2} | Row {3} of {4})", e.ProgressPercent, e.CurrentSheet, e.TotalSheets, e.CurrentRow, e.TotalRows);
string progress = new string('█', (int)(e.ProgressPercent / 2)) + new string('░', (int)((100 - e.ProgressPercent) / 2));
Console.WriteLine(info + new string(' ', 5) + progress);
}
License
This project is under the MIT License.
Product | Versions 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 is compatible. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.0
- DocumentFormat.OpenXml (>= 2.20.0)
-
.NETStandard 2.0
- DocumentFormat.OpenXml (>= 2.20.0)
-
net5.0
- DocumentFormat.OpenXml (>= 2.20.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.20 | 149 | 9/22/2024 |
1.2.19 | 158 | 9/1/2024 |
1.2.18 | 121 | 8/15/2024 |
1.2.17 | 92 | 8/7/2024 |
1.2.15 | 325 | 3/17/2024 |
1.2.13 | 118 | 3/17/2024 |
1.2.7 | 121 | 3/10/2024 |
1.2.1 | 109 | 2/20/2024 |
1.1.15 | 161 | 2/20/2024 |
1.1.14 | 18,082 | 10/8/2020 |
1.1.12 | 490 | 10/5/2020 |
1.1.11 | 632 | 10/3/2020 |
1.1.8 | 499 | 6/22/2020 |