{"id":20790517,"url":"https://github.com/chsword/excel2object","last_synced_at":"2025-05-05T20:49:25.012Z","repository":{"id":16415961,"uuid":"19167056","full_name":"chsword/Excel2Object","owner":"chsword","description":"excel convert to .NET Object  | Excel与.NET 对象进行转换，支持公式、多Sheet等功能","archived":false,"fork":false,"pushed_at":"2024-10-21T10:46:52.000Z","size":856,"stargazers_count":37,"open_issues_count":6,"forks_count":15,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-11T20:44:11.310Z","etag":null,"topics":["c-sharp","convert","excel","formula","mapper","netcore","object"],"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/chsword.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2014-04-26T02:49:58.000Z","updated_at":"2024-12-27T04:34:13.000Z","dependencies_parsed_at":"2024-04-24T10:35:36.559Z","dependency_job_id":"0cf18cd9-17d6-4b64-be58-b31cfbff9b02","html_url":"https://github.com/chsword/Excel2Object","commit_stats":{"total_commits":160,"total_committers":5,"mean_commits":32.0,"dds":"0.050000000000000044","last_synced_commit":"1cd7506280dea7e0ac0df63ba9bb57796c8b6492"},"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chsword%2FExcel2Object","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chsword%2FExcel2Object/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chsword%2FExcel2Object/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chsword%2FExcel2Object/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chsword","download_url":"https://codeload.github.com/chsword/Excel2Object/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252575733,"owners_count":21770609,"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":["c-sharp","convert","excel","formula","mapper","netcore","object"],"created_at":"2024-11-17T15:35:32.706Z","updated_at":"2025-05-05T20:49:24.987Z","avatar_url":"https://github.com/chsword.png","language":"C#","readme":"# Excel2Object\n\n[![install from nuget](http://img.shields.io/nuget/v/Chsword.Excel2Object.svg?style=flat-square)](https://www.nuget.org/packages/Chsword.Excel2Object)\n[![release](https://img.shields.io/github/release/chsword/Excel2Object.svg?style=flat-square)](https://github.com/chsword/Excel2Object/releases)\n[![Build status](https://ci.appveyor.com/api/projects/status/4po2h27j7yg4bph5/branch/master?svg=true)](https://ci.appveyor.com/project/chsword/excel2object)\n[![CodeFactor](https://www.codefactor.io/repository/github/chsword/excel2object/badge)](https://www.codefactor.io/repository/github/chsword/excel2object)\n\nExcel convert to .NET Object / .NET Object convert to Excel.\n\n- [Top](#excel2object)\n    - [NuGet install](#nuget-install)\n    - [Release notes and roadmap](#release-notes-and-roadmap)\n    - [Demo code](#demo-code)\n    - [Document](#document)\n    - [Reference](#reference)\n\nPlatform\n\n[![.NET 4.7.2 +](https://img.shields.io/badge/-4.7.2%2B-brightgreen?logo=dotnet\u0026style=for-the-badge\u0026color=blue)](#)\n[![.NET Standard 2.0](https://img.shields.io/badge/-standard2.0-brightgreen?logo=dotnet\u0026style=for-the-badge\u0026color=blue)](#)\n[![.NET Standard 2.1](https://img.shields.io/badge/-standard2.1-brightgreen?logo=dotnet\u0026style=for-the-badge\u0026color=blue)](#)\n[![.NET 6.0](https://img.shields.io/badge/-6.0-brightgreen?logo=dotnet\u0026style=for-the-badge\u0026color=blue)](#)\n[![.NET 8.0](https://img.shields.io/badge/-8.0-brightgreen?logo=dotnet\u0026style=for-the-badge\u0026color=blue)](#)\n\n### NuGet Install\n``` powershell\nPM\u003e Install-Package Chsword.Excel2Object\n```\n\n### Release Notes and roadmap\n\n#### Features not supported\n\n- [ ] cli tool\n- [ ] support auto width column\n- [ ] 1. support date datetime time in excel\\\n\n#### Release Notes\n\n* **2024.10.21**\n- [x] update SixLabors.ImageSharp to 2.1.9\n- [x] test for .net8.0\n* **2024.05.10**\n- [x] support .net8.0 / .net6.0 / .netstandard2.1 / .netstandard2.0 / .net4.7.2\n- [x] clear deprecated library\n* **2023.11.02**\n- [x] support column title mapping Issue39DynamicMappingTitle.cs\n* **2023.07.31**\n- [x] support DateTime and Nullable\u003cDateTime\u003e format ,such as `[ExcelColumn(\"Title\",Format=\"yyyy-MM-dd HH:mm:ss\")]`\n* **2023.03.26**\n- [x] support special symbol in columns title #37 [Issue37SpecialCharTest.cs](https://github.com/chsword/Excel2Object/commit/273122275e724367bb6154e03df61702fcec81b3#diff-5f0f5f7558bf7d4207cfa752a4506c4df89d9b491e2501e4862aff0c2276bd61)\n* **2023.02.20**\n- [x] support platform netstandard2.0/netstandard2.1/.net6.0/.netframework4.7.2\n* **2022.03.19**\n- [x] support ExcelImporterOptions , Skipline [Issue32SkipLineImport.cs](https://github.com/chsword/Excel2Object/blob/main/Chsword.Excel2Object.Tests/Issue32SkipLineImport.cs)\n- [x] fixed super class prop bug [Issue31SuperClass.cs](https://github.com/chsword/Excel2Object/blob/main/Chsword.Excel2Object.Tests/Issue31SuperClass.cs)\n* **2021.11.4**\n- [x] multiple sheet , demo \u0026 test file : [Pr28MultipleSheetTest.cs](https://github.com/chsword/Excel2Object/blob/main/Chsword.Excel2Object.Tests/Pr28MultipleSheetTest.cs)\n* **2021.10.23**\n- [x] Nullable DateTime bugfixed @SunBrook \n* **2021.10.22**\n- [x] support Nullable, test file :[Pr24NullableTest.cs](https://github.com/chsword/Excel2Object/blob/main/Chsword.Excel2Object.Tests/Pr24NullableTest.cs) @SunBrook \n* **2021.5.28**\n- [x] support style for header \u0026 cell, new [ExcelColumnAttribute] for column.\n- [x] support Functions [./ExcelFunctions.md](./ExcelFunctions.md)\n\n```C#\nvar list = new List\u003cPr20Model\u003e\n{\n        new Pr20Model\n        {\n            Fullname = \"AAA\", Mobile = \"123456798123\"\n        },\n        new Pr20Model\n        {\n            Fullname = \"BBB\", Mobile = \"234\"\n        }\n};\nvar bytes = ExcelHelper.ObjectToExcelBytes(list, ExcelType.Xlsx);\n// model\n[ExcelTitle(\"SheetX\")]\npublic class Pr20Model\n{\n    [ExcelColumn(\"Full name\", CellFontColor = ExcelStyleColor.Red)]\n    public string Fullname { get; set; }\n\n    [ExcelColumn(\"Phone Number\",\n        HeaderFontFamily = \"Normal\",\n        HeaderBold = true,\n        HeaderFontHeight = 30,\n        HeaderItalic = true,\n        HeaderFontColor = ExcelStyleColor.Blue,\n        HeaderUnderline = true,\n        HeaderAlignment = HorizontalAlignment.Right,\n        //cell\n        CellAlignment = HorizontalAlignment.Justify\n    )]\n    public string Mobile { get; set; }\n}\n```\n\n* **v2.0.0.113**\n```\nconvert project to netstandard2.0 and .net452\nfixbug #12 #13\n```\n\n* **v1.0.0.80**\n\n- [x] support simple formula\n- [x] support standard excel model\n  - [x] excel \u0026 JSON convert\n  - [x] excel \u0026 Dictionary\u003cstring,object\u003e convert\n\n```\nSupport Uri to a hyperlink cell\nAnd also support text cell to Uri Type\n```\n\n* **v1.0.0.43**\n```\nSupport xlsx [thanks Soar360]\nSupport complex Boolean type\n```\n\n* **v1.0.0.36**\n```\nAdd ExcelToObject\u003cT\u003e(bytes)\n```\n\n### Demo Code\n\nModel\n``` csharp\n    public class ReportModel\n    {\n        [Excel(\"My Title\",Order=1)]\n        public string Title { get; set; }\n        [Excel(\"User Name\",Order=2)]\n        public string Name { get; set; }\n    }\n```\n\nModel List\n``` csharp\n      var models = new List\u003cReportModel\u003e\n            {\n                new ReportModel{Name=\"a\",Title=\"b\"},\n                new ReportModel{Name=\"c\",Title=\"d\"},\n                new ReportModel{Name=\"f\",Title=\"e\"}\n            };\n```\n\nConvert Object to Excel file.\n``` csharp\n      var exporter = new ExcelExporter();\n      var bytes = exporter.ObjectToExcelBytes(models);\n      File.WriteAllBytes(\"C:\\\\demo.xls\", bytes);\n```\n\nConvert Excel file to Object\n``` csharp\n      var importer = new ExcelImporter();\n      IEnumerable\u003cReportModel\u003e result = importer.ExcelToObject\u003cReportModel\u003e(\"c:\\\\demo.xls\");\n      // also can use bytes\n      //IEnumerable\u003cReportModel\u003e result = importer.ExcelToObject\u003cReportModel\u003e(bytes);\n```\n\nWith ASP.NET MVC\n      In ASP.NET MVC Model, DisplayAttribute can be supported like ExcelTitleAttribute.\n\n### Document\n\nhttp://www.cnblogs.com/chsword/p/excel2object.html\n\n### Reference\n\nhttps://github.com/tonyqus/npoi\n\nhttps://github.com/chsword/ctrc\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchsword%2Fexcel2object","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchsword%2Fexcel2object","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchsword%2Fexcel2object/lists"}