ExcellentExport.js
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
Revision history:
1.0
- Added Excel data export
1.1
- Added CSV data export
1.3
- Added minified version.
1.4
- Add LICENSE.txt with GPL v3.
- UTF-8 characters fixed.
1.5
- Possibility to select a CSV delimiter.
- Bower package available.
- Compose package available.
2.0.0
- 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.
Compatibility
Firefox, Chrome
It does not work on Internet Explorer yet. Internet Explorer does not allow to use url data schema on links.
Install: Bower
bower install excellentexport
Install: NPM
npm install excellentexport
Install: Composer
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>
Usage
<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>
Notes
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.
Test
python -m SimpleHTTPServer 8000
Security
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