# CsvHelper [![Join the chat at https://gitter.im/CsvHelper/Lobby](https://badges.gitter.im/CsvHelper/Lobby.svg)](https://gitter.im/CsvHelper/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Backers on Open Collective](https://opencollective.com/csvhelper/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/csvhelper/sponsors/badge.svg)](#sponsors) NuGet Version NuGet Download Count A library for reading and writing CSV files. Extremely fast, flexible, and easy to use. Supports reading and writing of custom class objects. ## Install ### Package Manager Console ``` PM> Install-Package CsvHelper ``` ### .NET CLI Console ``` > dotnet add package CsvHelper ``` ## Documentation http://joshclose.github.io/CsvHelper/ ### Building the Documentation 1. Install [node.js](https://nodejs.org/en/download/). 1. Go into the `CsvHelper/docs-src` folder. 1. Run `npm start` to start a local test site. Make any changes needed. 1. Run `npm run build` to build the documentation files that are output to `CsvHelper/docs`. ## License Dual licensed Microsoft Public License (MS-PL) http://www.opensource.org/licenses/MS-PL Apache License, Version 2.0 http://opensource.org/licenses/Apache-2.0 ## Contributing Want to contribute? Great! Here are a few guidelines. 1. If you want to do a feature, post an issue about the feature first. Some features are intentionally left out, some features may already be in the works, or I may have some advice on how I think it should be done. I would feel bad if time was spent on some code that won't be used. 2. If you want to do a bug fix, it might not be a bad idea to post about it too. I've had the same bug fixed by multiple people at the same time before. 3. All code should have a unit test. If you make a feature, there should be significant tests around the feature. If you do a bug fix, there should be a test specific to that bug so it doesn't happen again. 4. Pull requests should have a single commit. If you have multiple commits, squash them into a single commit before requesting a pull. 5. Try and follow the code styling already in place. If you have ReSharper there is a dotsettings file included and things should automatically be formatted for you. ## Credits ### Contributors This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)]. ### Backers Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/csvhelper#backer)] ### Sponsors Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/csvhelper#sponsor)]