{"id":13436226,"url":"https://github.com/ClosedXML/ClosedXML","last_synced_at":"2025-03-18T20:31:07.994Z","repository":{"id":37335697,"uuid":"66709088","full_name":"ClosedXML/ClosedXML","owner":"ClosedXML","description":"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.","archived":false,"fork":false,"pushed_at":"2025-01-23T17:50:07.000Z","size":70933,"stargazers_count":4988,"open_issues_count":440,"forks_count":853,"subscribers_count":141,"default_branch":"develop","last_synced_at":"2025-03-15T12:34:07.675Z","etag":null,"topics":["closedxml","excel","hacktoberfest","hacktoberfest2020","openxml","xlsm","xlsx"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ClosedXML.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-27T10:28:44.000Z","updated_at":"2025-03-15T10:22:24.000Z","dependencies_parsed_at":"2024-02-09T00:58:22.927Z","dependency_job_id":"4a359a56-ae5a-4984-a044-5ab1a446230a","html_url":"https://github.com/ClosedXML/ClosedXML","commit_stats":{"total_commits":1900,"total_committers":107,"mean_commits":"17.757009345794394","dds":0.6078947368421053,"last_synced_commit":"cb5c32c6ee08383cf45dda7085a1ee2c284a9c05"},"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClosedXML%2FClosedXML","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClosedXML%2FClosedXML/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClosedXML%2FClosedXML/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClosedXML%2FClosedXML/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ClosedXML","download_url":"https://codeload.github.com/ClosedXML/ClosedXML/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244301362,"owners_count":20430929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["closedxml","excel","hacktoberfest","hacktoberfest2020","openxml","xlsm","xlsx"],"created_at":"2024-07-31T03:00:45.666Z","updated_at":"2025-03-18T20:31:07.988Z","avatar_url":"https://github.com/ClosedXML.png","language":"C#","readme":"![ClosedXML](https://github.com/ClosedXML/ClosedXML/blob/develop/resources/logo/readme.png)\n\n[![Release](https://img.shields.io/badge/release-0.95.4-blue.svg)](https://github.com/ClosedXML/ClosedXML/releases/latest) [![NuGet version (ClosedXML)](https://img.shields.io/nuget/v/ClosedXML.svg?style=flat)](https://www.nuget.org/packages/ClosedXML/) [![.NET Framework](https://img.shields.io/badge/.NET%20Framework-%3E%3D%204.0-red.svg)](#) [![.NET Standard](https://img.shields.io/badge/.NET%20Standard-%3E%3D%202.0-red.svg)](#) [![Build status](https://ci.appveyor.com/api/projects/status/wobbmnlbukxejjgb?svg=true)](https://ci.appveyor.com/project/ClosedXML/ClosedXML/branch/develop/artifacts)\n[![Open Source Helpers](https://www.codetriage.com/closedxml/closedxml/badges/users.svg)](https://www.codetriage.com/closedxml/closedxml)\n\n[💾 Download unstable CI build](https://ci.appveyor.com/project/ClosedXML/ClosedXML/branch/develop/artifacts)\n\nClosedXML 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](https://github.com/OfficeDev/Open-XML-SDK) API.\n\nFor more information see [the documentation](https://closedxml.readthedocs.io/) or [the wiki](https://github.com/closedxml/closedxml/wiki).\n\n### Release notes \u0026 migration guide\n\nThe public API is still not stable and it is a very good idea to **read release notes** and **migration guide** before each update.\n* [Release notes for 0.100](https://github.com/ClosedXML/ClosedXML/releases/tag/0.100.0)\n* [Migration guide for 0.100](https://closedxml.readthedocs.io/en/latest/migrations/migrate-to-0.100.html)\n* [Release notes for 0.97](https://github.com/ClosedXML/ClosedXML/releases/tag/0.97.0)\n\n### Performance\n\nPerformance 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](https://github.com/ClosedXML/ClosedXML/commit/5f7c0d9461352a6a468e5299bfef6eaf82bf37da)).\n\n\u003cdetails\u003e\n  \u003csummary\u003eRuntime details\u003c/summary\u003e\n```\nBenchmarkDotNet v0.13.8, Windows 11 (10.0.22621.2283/22H2/2022Update/SunValley2)\nAMD Ryzen 5 5500U with Radeon Graphics, 1 CPU, 12 logical and 6 physical cores\n.NET SDK 8.0.100-rc.1.23463.5\n  [Host] : .NET 7.0.11 (7.0.1123.42427), X64 RyuJIT AVX2\n```\n\u003c/details\u003e\n\n#### Save\n\n| Description                  |     Rows  |           Columns      | Time/Memory to insert data | Save workbook | Total time/memory | \n|------------------------------|-----------|------------------------|----------------------------|------------------------------|---|\n| Mixed (text/number) workbook.\u003cbr\u003e[Gist](https://gist.github.com/jahav/bdc5fe3c90f25544ca6ae1394bbe3561) |   250 000 | 15 | 1.619 sec / 117 MiB |  6.343 sec |  7.962 sec /  477 MiB |\n| Text only workbook. [Gist](https://gist.github.com/jahav/257bb2ffd5ab7adfded7e669290d8151)              | 1 000 000 | 10 | 6.302 sec / 402 MiB  | 17.134 sec | 23.436 sec / 1880 MiB |\n\n#### Load\n\n| Description                                                        |  Rows     | Columns | Time to load data | Used memory |\n|--------------------------------------------------------------------|-----------|---------|-------------------|-------------|\n| Load mixed workbook (10 text/5 number columns). |   250 000 |      15 |        15.648 sec |     236 MiB |\n| Text only workbook.                                                | 1 000 000 |      10 |       49.046 sec  |     801 MiB |\n\nLoad tests used files created during save test.\n\n### Frequent answers\n- 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](https://closedxml.readthedocs.io/en/latest/tips/missing-font.html).\n- ClosedXML is not thread-safe. There is no guarantee that [parallel operations](https://github.com/ClosedXML/ClosedXML/issues/1662) will work. The underlying OpenXML library is also not thread-safe.\n- If you get an exception `The type initializer for 'Gdip' threw an exception.` on Linux, you have to upgrade to 0.97+.\n\n### Install ClosedXML via NuGet\n\nIf you want to include ClosedXML in your project, you can [install it directly from NuGet](https://www.nuget.org/packages/ClosedXML)\n\nTo install ClosedXML, run the following command in the Package Manager Console\n\n```\nPM\u003e Install-Package ClosedXML\n```\n\n### What can you do with this?\n\nClosedXML allows you to create Excel files without the Excel application. The typical example is creating Excel reports on a web server.\n\n**Example:**\n```c#\nusing (var workbook = new XLWorkbook())\n{\n    var worksheet = workbook.Worksheets.Add(\"Sample Sheet\");\n    worksheet.Cell(\"A1\").Value = \"Hello World!\";\n    worksheet.Cell(\"A2\").FormulaA1 = \"=MID(A1, 7, 5)\";\n    workbook.SaveAs(\"HelloWorld.xlsx\");\n}\n```\n\n### Extensions\nBe sure to check out our `ClosedXML` extension projects\n- https://github.com/ClosedXML/ClosedXML.Report\n- https://github.com/ClosedXML/ClosedXML.Extensions.AspNet\n- https://github.com/ClosedXML/ClosedXML.Extensions.Mvc\n- https://github.com/ClosedXML/ClosedXML.Extensions.WebApi\n\n## Developer guidelines\nThe [OpenXML specification](https://ecma-international.org/publications-and-standards/standards/ecma-376/) 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.\n\nPlease read the [full developer guidelines](CONTRIBUTING.md).\n\n## Credits\n* Project originally created by Manuel de Leon\n* Current maintainer: [Jan Havlíček](https://github.com/jahav)\n* Former maintainer and lead developer: [Francois Botha](https://github.com/igitur)\n* Master of Computing Patterns: [Aleksei Pankratev](https://github.com/Pankraty)\n* Logo design by [@Tobaloidee](https://github.com/Tobaloidee)\n\nThanks to JetBrains for providing development tools through their [Open Source Program](https://www.jetbrains.com/community/opensource/)\n\n[\u003cimg src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.png\" alt=\"JetBrains logo.\" height=\"40px\"\u003e](https://www.jetbrains.com/)\n","funding_links":[],"categories":["HarmonyOS","hacktoberfest","Office \u0026 Reports","C#","Office","C\\#","C# #"],"sub_categories":["Windows Manager","GUI - other"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FClosedXML%2FClosedXML","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FClosedXML%2FClosedXML","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FClosedXML%2FClosedXML/lists"}