JavaScript export to Excel or CSV
A quick JavaScript library to create export to Excel/CSV from HTML tables automatically in the browser. No server required.
Check my blog page for testing: JavaScript export to Excel
ExcellentExport.js update: JavaScript export to Excel and CSV
- Added Excel data export
- Added CSV data export
- Added minified version.
- Add LICENSE.txt with GPL v3.
- UTF-8 characters fixed.
- Possibility to select a CSV delimiter.
- Bower package available.
- Compose package available.
- Now it can export to big files +2MB.
- Minimum IE 11.
- Links open with URL.createObjectURL(...).
- NPM package available.
- Using Semantic versioning (2.0.0 instead of 2.0).
- Module can be loaded standalone or with RequireJS.
- Change license to MIT.
- Fix CSV Chinese characters and other special characters display error in Windows Excel.
- Fix URL.createObjectURL(...) on Firefox.
- Fix export as a module.
- Changed minifier to UglifyJS.
Firefox, Chrome
It does not work on Internet Explorer yet. Internet Explorer does not allow to use url data schema on links.
bower install excellentexport
npm install excellentexport
Get Composer:
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar install
Create a composer.json file for your project:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/jmaister/excellentexport"
}
],
"require": {
"jmaister/excellentexport": "~1.4.0"
}
}
Run composer install
.
Include script in your HTML:
<script type="text/javascript" src="/components/excellentexport/excellentexport.min.js"></script>
<table id="datatable">
<tr>
<td>100</td> <td>200</td> <td>300</td>
</tr>
<tr>
<td>400</td> <td>500</td> <td>600</td>
</tr>
</table>
<a download="somedata.xls" href="#" onclick="return ExcellentExport.excel(this, 'datatable', 'Sheet Name Here');">Export to Excel</a>
<a download="somedata.csv" href="#" onclick="return ExcellentExport.csv(this, 'datatable');">Export to CSV</a>
IE8 or lower do not support data: url schema.
IE9 does not support data: url schema on links.
IE10 and above and Edge are supported via the Microsoft-specific msOpenOrSaveBlob
method.
python -m SimpleHTTPServer 8000
Due to a Microsoft patch, Excel files generated by excellentexport
can only be opened if they are trusted, otherwise users get a blank window.
See Microsoft's forms, and Freya's answer for more details : https://social.technet.microsoft.com/Forums/en-US/d2d84793-9920-45e3-baef-5027a4ac1ae0/kb3170008-for-office-2016-breaks-functionality-ms16088