Need help with excellentexport?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

Global Rank
#53,862
Topics of expertise
CSV
excel
audio-s...
TypeScr...
HTML
Location
none
1.0K Stars 291 Forks MIT License 176 Commits 19 Opened issues

Description

Javascript export to Excel

Services available

!
?

Need anything else?

Contributors list

# 53,862
excel
HTML
CSV
audio-s...
119 commits
# 228,237
HTML
PHP
excel
CSV
5 commits
# 251,082
PHP
drupal
HTML
virtual...
3 commits
# 167,903
C
single-...
Telegra...
messeng...
2 commits
# 104,710
Java
CSS
excel
CSV
1 commit
# 370,874
excel
HTML
CSV
TypeScr...
1 commit
# 84
netlify
TypeScr...
GraphQL
angular...
1 commit
# 368,009
excel
HTML
TypeScr...
stream-...
1 commit
# 370,676
excel
HTML
CSV
TypeScr...
1 commit
# 88,197
garbage...
Haskell
toc
Markdow...
1 commit
# 362,203
TeX
HTML
Shell
excel
1 commit

Build Status Rate on Openbase Coverage Status

ExcellentExport.js

Revision history:

3.6.0

3.5.0

  • Add fixValue and fixArray functions to configuration: these configuration functions can be used to manipulate the values of the cells.
  • Update npm dependencies to fix vulnerabilities

3.4.3

  • Update npm dependencies to fix vulnerabilities

3.4.2

  • Remove ES6 function syntax to support IE11
  • Update npm dependencies to fix vulnerabilities

3.4.0

  • Configure TravisCI on GitHub
  • Update npm dependencies to fix vulnerabilities

3.3.0

  • Remove columns by index
  • Filter rows by value
  • Updated build to Webpack 4.x.x

3.2.1

  • Update npm dependencies to fix vulnerabilities

3.2.0

  • Update npm dependencies to fix vulnerabilities

3.1.0

  • Fix old API for base64 and escaping problem.

3.0.0

  • XLSX support. This bumps the build size to 640 KB.
  • New API : ExcellentExport.convert(...)
  • Autogenerate download filename.
  • Data input from arrays or HTML Tables.
  • Multiple sheets for XLS or XLSX formats.

2.1.0

  • Add Webpack build.
  • Create UMD JavaScript module. Library can be loaded as a module (import, RequireJS, AMD, etc...) or standalone as window.ExcelentExport.

2.0.3

  • Fix export as a module.
  • Changed minifier to UglifyJS.

2.0.2

  • Fix CSV Chinese characters and other special characters display error in Windows Excel.
  • Fix URL.createObjectURL(...) on Firefox.

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.

1.5

  • Possibility to select a CSV delimiter.
  • Bower package available.
  • Compose package available.

1.4

  • Add LICENSE.txt with GPL v3
  • UTF-8 characters fixed.

1.3

  • Added minified version

1.1

  • Added CSV data export

1.0

  • Added Excel data export

Compatibility

  • Firefox
  • Chrome
  • Internet Explorer 11+

Install

npm

npm install excellentexport --save

yarn

yarn add excellentexport

bower

bower install excellentexport

Load

Include script in your HTML:


Include script in your HTML using CDN:


Require.js


ES6 import

import ExcellentExport from 'excellentexport';

Usage

100 200 300
400 500 600

Export to Excel Export to CSV

Export to CSV

API

 ExcellentExport.convert(options, sheets);

Options: { anchor: String or HTML Element, format: 'xlsx' or 'xls' or 'csv', filename: String }

Sheets must be an array of sheet configuration objects. Sheet description: [ { name: 'Sheet 1', // Sheet name from: { table: String/Element, // Table ID or table element array: [...] // Array with the data. Array where each element is a row. Every row is an array of the cells. }, removeColumns: [...], // Array of column indexes (from 0) filterRowFn: function(row) {return true}, // Function to decide which rows are returned fixValue: function(value, row, column) {return fixedValue} // Function to fix values, receiving value, row num, column num fixArray: function(array) {return array} // Function to manipulate the whole data array ... }, { ... }, ... ]

fixValue example

This is an example for the fixValue function to handle HTML tags inside a table cell. It transforms BR to line breaks and then strips all the HTML tags.

            fixValue: (value, row, col) => {
                let v = value.replace(/
/gi, "\n"); let strippedString = v.replace(/(]+)>)/gi, ""); return strippedString; }

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 2.x:
    python -m SimpleHTTPServer 8000

python 3.x: python -m http.server 8000

Build

Install dependencies:

npm install

Build development version dist/excellentexport.js

npm run build

Build publish version of dist/excellentexport.js

npm run prod

Publish

npm publish

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.