GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ClosedXML/ClosedXML: ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API.

BranchesTags
Open more actions menu

Latest commit

 

History

3,499 Commits
3,499 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
ClosedXML.Examples
ClosedXML.Examples
 
 
ClosedXML.IO.CodeGen
ClosedXML.IO.CodeGen
 
 
ClosedXML.IO
ClosedXML.IO
 
 
ClosedXML.Sandbox
ClosedXML.Sandbox
 
 
ClosedXML.Tests
ClosedXML.Tests
 
 
ClosedXML
ClosedXML
 
 
docs
docs
 
 
resources
resources
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.readthedocs.yaml
.readthedocs.yaml
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
ClosedXML.slnx
ClosedXML.slnx
 
 
ClosedXML.slnx.DotSettings
ClosedXML.slnx.DotSettings
 
 
ClosedXML.snk
ClosedXML.snk
 
 
Directory.Build.props
Directory.Build.props
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
nuget.config
nuget.config
 
 

Repository files navigation

ClosedXML

Release NuGet version (ClosedXML) .NET Framework .NET Standard Build status Open Source Helpers

💾 Download unstable CI build

ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API.

For more information see the documentation or the wiki.

Release notes & migration guide

The public API is still not stable and it is a very good idea to read release notes and migration guide before each update.

  • Release notes for 0.100
  • Migration guide for 0.100
  • Release notes for 0.97

Performance

Performance matters mostly for large files. For small files, few ms here or there doesn't matter. The presented data are from generally develop branch (currently 0.103-beta).

Runtime details ``` BenchmarkDotNet v0.13.8, Windows 11 (10.0.22621.2283/22H2/2022Update/SunValley2) AMD Ryzen 5 5500U with Radeon Graphics, 1 CPU, 12 logical and 6 physical cores .NET SDK 8.0.100-rc.1.23463.5 [Host] : .NET 7.0.11 (7.0.1123.42427), X64 RyuJIT AVX2 ```

Save

Description Rows Columns Time/Memory to insert data Save workbook Total time/memory
Mixed (text/number) workbook.
Gist
250 000 15 1.619 sec / 117 MiB 6.343 sec 7.962 sec / 477 MiB
Text only workbook. Gist 1 000 000 10 6.302 sec / 402 MiB 17.134 sec 23.436 sec / 1880 MiB

Load

Description Rows Columns Time to load data Used memory
Load mixed workbook (10 text/5 number columns). 250 000 15 15.648 sec 236 MiB
Text only workbook. 1 000 000 10 49.046 sec 801 MiB

Load tests used files created during save test.

Frequent answers

  • If you get an exception Unable to find font font name or fallback font fallback font name. Install missing fonts or specify a different fallback font through ‘LoadOptions.DefaultGraphicEngine = new DefaultGraphicEngine(“Fallback font name”)’, see help page about missing fonts.
  • ClosedXML is not thread-safe. There is no guarantee that parallel operations will work. The underlying OpenXML library is also not thread-safe.
  • If you get an exception The type initializer for 'Gdip' threw an exception. on Linux, you have to upgrade to 0.97+.

Install ClosedXML via NuGet

If you want to include ClosedXML in your project, you can install it directly from NuGet

To install ClosedXML, run the following command in the Package Manager Console

PM> Install-Package ClosedXML

What can you do with this?

ClosedXML allows you to create Excel files without the Excel application. The typical example is creating Excel reports on a web server.

Example:

using (var workbook = new XLWorkbook())
{
    var worksheet = workbook.Worksheets.Add("Sample Sheet");
    worksheet.Cell("A1").Value = "Hello World!";
    worksheet.Cell("A2").FormulaA1 = "=MID(A1, 7, 5)";
    workbook.SaveAs("HelloWorld.xlsx");
}

Extensions

Be sure to check out our ClosedXML extension projects

  • https://github.com/ClosedXML/ClosedXML.Report
  • https://github.com/ClosedXML/ClosedXML.Extensions.AspNet
  • https://github.com/ClosedXML/ClosedXML.Extensions.Mvc
  • https://github.com/ClosedXML/ClosedXML.Extensions.WebApi

Developer guidelines

The OpenXML specification is a large and complicated beast. In order for ClosedXML, the wrapper around OpenXML, to support all the features, we rely on community contributions. Before opening an issue to request a new feature, we'd like to urge you to try to implement it yourself and log a pull request.

Please read the full developer guidelines.

Credits

  • Project originally created by Manuel de Leon
  • Current maintainer: Jan Havlíček
  • Former maintainer and lead developer: Francois Botha
  • Master of Computing Patterns: Aleksei Pankratev
  • Logo design by @Tobaloidee

Thanks to JetBrains for providing development tools through their Open Source Program

JetBrains logo.

About

ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API.

Topics

closedxmlexcelhacktoberfesthacktoberfest2020openxmlxlsmxlsx

Resources

Readme
MIT license

Contributing

Contributing
Activity
Custom properties

Stars

5.8k stars

Watchers

144 watching

Forks

937 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.