{"id":29765548,"url":"https://github.com/closedxml/closedxml.report","last_synced_at":"2025-07-27T00:14:54.878Z","repository":{"id":38418387,"uuid":"112817805","full_name":"ClosedXML/ClosedXML.Report","owner":"ClosedXML","description":"ClosedXML.Report is a tool for report generation with which you can easily export any data from your .NET classes to Excel using a XLSX-template.","archived":false,"fork":false,"pushed_at":"2025-05-22T21:28:41.000Z","size":6257,"stargazers_count":588,"open_issues_count":62,"forks_count":118,"subscribers_count":29,"default_branch":"develop","last_synced_at":"2025-07-22T08:52:46.174Z","etag":null,"topics":["c-sharp","closedxml","dotnet","excel","reporting"],"latest_commit_sha":null,"homepage":"https://closedxml.github.io/ClosedXML.Report/","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":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-12-02T06:11:36.000Z","updated_at":"2025-07-21T09:08:30.000Z","dependencies_parsed_at":"2024-06-19T10:02:28.021Z","dependency_job_id":"377d43f1-4749-4e05-b75a-4851e31cf741","html_url":"https://github.com/ClosedXML/ClosedXML.Report","commit_stats":{"total_commits":138,"total_committers":14,"mean_commits":9.857142857142858,"dds":0.2971014492753623,"last_synced_commit":"870f43d6d3b9a311afe89b4de3ffe494455a8d10"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/ClosedXML/ClosedXML.Report","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClosedXML%2FClosedXML.Report","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClosedXML%2FClosedXML.Report/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClosedXML%2FClosedXML.Report/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClosedXML%2FClosedXML.Report/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ClosedXML","download_url":"https://codeload.github.com/ClosedXML/ClosedXML.Report/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClosedXML%2FClosedXML.Report/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267274164,"owners_count":24062704,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["c-sharp","closedxml","dotnet","excel","reporting"],"created_at":"2025-07-27T00:14:49.321Z","updated_at":"2025-07-27T00:14:54.861Z","avatar_url":"https://github.com/ClosedXML.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ClosedXML.Report\n[![Build status](https://github.com/ClosedXML/ClosedXML.Report/actions/workflows/build.yml/badge.svg?branch=develop)\n[![Open Source Helpers](https://www.codetriage.com/closedxml/closedxml.report/badges/users.svg)](https://www.codetriage.com/closedxml/closedxml.report)\n[![NuGet Badge](https://buildstats.info/nuget/ClosedXML.Report)](https://www.nuget.org/packages/ClosedXML.Report/)\n[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors)\n\nClosedXML.Report is a tool for report generation and data analysis in .NET applications through the use of Microsoft Excel.\nIt is a .NET-library for report generation Microsoft Excel without requiring Excel to be installed on the machine that's running the code. With ClosedXML.Report, you can easily export any data from your .NET classes to Excel using the XLSX-template.\n\nExcel is an excellent alternative to common report generators, and using Excel’s built-in features\ncan make your reports much more responsive.\nUse ClosedXML.Report as a tool for generating files of Excel. Then use Excel visual instruments: formatting (including\nconditional formatting), AutoFilter, Pivot tables to construct a versatile data analysis system. With ClosedXML.Report, you can move a lot of report programming\nand tuning into Excel. ClosedXML.Report templates are simple and our algorithms are fast – we carefully count every\nmillisecond – so you waste less time on routine report programming and get surprisingly fast results. If you want\nto master such a versatile tool as Excel – ClosedXML.Report is an excellent choice.\nFurthermore, ClosedXML.Report doesn’t operate with the usual concepts of band-oriented report tools: Footer, Header,\nand Detail. So you get a much greater degree of freedom in report construction and design, and the easiest possible integration of .NET and Microsoft Excel. \n\n[For more information see the wiki](https://closedxml.github.io/ClosedXML.Report/)\n\n### Install ClosedXML.Report via NuGet\n\nIf you want to include ClosedXML.Report in your project, you can [install it directly from NuGet](https://www.nuget.org/packages/ClosedXML.Report/)\n\nTo install ClosedXML.Report, run the following command in the Package Manager Console\n\n```\nPM\u003e Install-Package ClosedXML.Report\n```\n\n## Features\n\n* Copying cell formatting\n* Propagation conditional formatting\n* Vertical and horizontal tables and subranges\n* Ability to implement Excel formulas\n* Using dynamically calculated formulas with the syntax of C # and Linq\n* Operations with tabular data: sorting, grouping, total functions.\n* Pivot tables\n* Subranges\n\n## How to use?\nTo create a report you must first create a report template. You can apply any formatting to any workbook cells, insert pictures, and modify any of the parameters of the workbook itself. In this example, we have turned off the zero values display and hidden the \ngridlines. ClosedXML.Report will preserve all changes to the template. \n\n**Template**\n\n![template1](https://user-images.githubusercontent.com/1150085/33486458-3161eb92-d6bb-11e7-8833-d500461b18a5.png)\n\n**Code**\n\n```c#\n    protected void Report()\n    {\n        const string outputFile = @\".\\Output\\report.xlsx\";\n        var template = new XLTemplate(@\".\\Templates\\report.xlsx\");\n\n        using (var db = new DbDemos())\n        {\n            var cust = db.customers.LoadWith(c =\u003e c.Orders).First();\n            template.AddVariable(cust);\n            template.Generate();\n        }\n\n        template.SaveAs(outputFile);\n\n        //Show report\n        Process.Start(new ProcessStartInfo(outputFile) { UseShellExecute = true });\n    }\n```\n\n**Result**\n\n![result1](https://user-images.githubusercontent.com/1150085/33486460-31a02542-d6bb-11e7-8899-8694157ee9dd.png)\n\n[For more information see the wiki](https://closedxml.github.io/ClosedXML.Report/) and [tests](https://github.com/ClosedXML/ClosedXML.Report/tree/master/tests)\n\n## Credits\n* Afalinasoft team with their XLReport for the idea\n* ClosedXML team for a great library\n* Logo design by [@Tobaloidee](https://github.com/Tobaloidee)\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore --\u003e\n| [\u003cimg src=\"https://avatars3.githubusercontent.com/u/1150085?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRozhkov Alexey\u003c/b\u003e\u003c/sub\u003e](https://github.com/b0bi79)\u003cbr /\u003e[💻](https://github.com/b0bi79/ClosedXML.Report/commits?author=b0bi79 \"Code\") [📖](https://github.com/b0bi79/ClosedXML.Report/commits?author=b0bi79 \"Documentation\") [👀](#review-b0bi79 \"Reviewed Pull Requests\") | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/19576939?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAleksei\u003c/b\u003e\u003c/sub\u003e](https://github.com/Pankraty)\u003cbr /\u003e[💻](https://github.com/b0bi79/ClosedXML.Report/commits?author=Pankraty \"Code\") [🌍](#translation-Pankraty \"Translation\") [👀](#review-Pankraty \"Reviewed Pull Requests\") [🚇](#infra-Pankraty \"Infrastructure (Hosting, Build-Tools, etc)\") | [\u003cimg src=\"https://avatars1.githubusercontent.com/u/145854?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFrancois Botha\u003c/b\u003e\u003c/sub\u003e](http://www.vwd.co.za)\u003cbr /\u003e[📦](#platform-igitur \"Packaging/porting to new platform\") | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/36028424?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003etobaloidee\u003c/b\u003e\u003c/sub\u003e](https://github.com/Tobaloidee)\u003cbr /\u003e[🎨](#design-Tobaloidee \"Design\") |\n| :---: | :---: | :---: | :---: |\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclosedxml%2Fclosedxml.report","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclosedxml%2Fclosedxml.report","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclosedxml%2Fclosedxml.report/lists"}