React Excel Workbook
React Excel Workbook is a library for defining downloadable excel workbooks with react components.
Example
import React from 'react'import render from 'react-dom'import Workbook from 'react-xlsx-workbook-dynamic-column-width' const data1 = foo: '123' bar: '456' baz: '789' foo: 'abc' bar: 'BCAC24VO11NAONA' baz: 'hij' foo: 'aaa' bar: 'bbb' baz: 'ccc' const data2 = aaa: 1 bbb: 2 ccc: 3 aaa: 4 bbb: 5 ccc: 6 const columnWidths = wch: 10 wch: 20 wch: 10 const example = <div ="row" => <div ="col-xs-12 text-center"> <Workbook ="example.xlsx" => <Workbook.Sheet = = ="Sheet A"> <Workbook.Column ="Foo" ="foo"/> <Workbook.Column ="Bar" ="bar"/> </Workbook.Sheet> <Workbook.Sheet = ="Another sheet"> <Workbook.Column ="Double aaa" =/> <Workbook.Column ="Cubed ccc " =/> </Workbook.Sheet> </Workbook> </div> </div>
Workbooks can have multiple sheets. Sheets can use the same or different data sets(an array of objects). Sheets have columns. Columns define a column label and value. Values can either be a string(the property name) or a function that takes the current object and returns a value.
Dependencies
This package uses file-saver and xlsx packages. I am only familiar with webpack and in order for everything to work with webpack you must use the json-loader and have this defined in your webpack config.
node: fs: 'empty'externals: './cptable': 'var cptable' './jszip': 'jszip'
See the example
directory for a working example.
Testing
I have no idea how to test this.