hello-csv
Version:
A modern CSV importer written in Preact
63 lines (48 loc) • 2.53 kB
Markdown
<br/>
<div align="center">
<a href="https://github.com/HelloCSV/HelloCSV">
<img src="docs/images/logo.png" alt="Logo" width="80" height="80">
</a>
<h3 align="center">HelloCSV</h3>
<p align="center">
A modern, drop in, frontend only, CSV importer workflow.
<br/>
<br/>
<a href="https://hellocsv.mintlify.app/common/get-started/introduction"><strong>Explore the docs »</strong></a>
<br/>
<br/>
<a href="https://hellocsv.github.io/HelloCSV/">View Demo .</a>
<a href="https://github.com/HelloCSV/HelloCSV/issues/new?labels=bug">Report Bug .</a>
<a href="https://github.com/HelloCSV/HelloCSV/issues/new?labels=enhancement">Request Feature</a>
</p>
</div>
[](https://www.npmjs.com/package/hello-csv)
[](https://standardjs.com)
[](https://github.com/HelloCSV/HelloCSV/actions/workflows/run-tests.yml)
[](https://opensource.org/licenses/MIT)
## About The Project

A challenge almost every project eventually faces is importing user uploaded data from CSV files in a way that doesn't cause a ton of issues. Developers always have to figure out
- How do you make sure that data uploaded is correct
- How do you notify the user that the data is incorrect before they upload it, and give the user a chance to fix it
- Incorrect or duplicate data that is uploaded is super annoying to try to fix after-the-fact
- Run automatic formatters (ex: phone number formatting), but providing a way for the user to see what our formatter did before uploading as a sanity check
HelloCSV a Javascript library that drops in a CSV importer into your project that:
- Supports custom columns
- with custom validations
- and custom transformations
- a nice UI that walks a user through a 4 step process of uploading a CSV (upload, map columns, preview data, upload confirmation)
- with a small JS footprint
- that doesn't assume your frontend stack
## Install
With npm:
```sh
npm install hello-csv
```
From CDN
```
<script src="https://cdn.jsdelivr.net/npm/hello-csv@0.3.5/dist/bundled/index.es.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/hello-csv@0.3.5/dist/bundled/hello-csv.css">
```
## Documentation
Current documentation could be find [here](https://hellocsv.mintlify.app/)