maxvint / react-xls

react-xls is the fastest in-browser excel ( .xls & .xlsx ) parser for React. It is full of useful features such as useExcelDownloader, ... etc.

Repository from Github https://github.commaxvint/react-xlsRepository from Github https://github.commaxvint/react-xls

react-xls

react-xls is the fastest in-browser excel ( .xls & .xlsx ) parser for React.

NPM npm bundle size JavaScript Style Guide

🎁 Features

  • Compatible with both JavaScript and TypeScript

πŸ“š Useful Features

  • useExcelDownloader – React hook that render the link/button which is clicked to download the data provided in excel file.

πŸ”§ Install

react-xls is available on npm. It can be installed with the following command:

npm install react-xls --save

react-xls is available on yarn as well. It can be installed with the following command:

yarn add react-xls --save

πŸ’‘ Usage

πŸŽ€ useExcelDownloader

πŸ‘¨β€πŸ’» Button

import React from 'react';

import { useExcelDownloder } from 'react-xls';

function App() {
  const { ExcelDownloder, Type } = useExcelDownloder();

  // We will make a Workbook contains 2 Worksheets
  const data = {
    // Worksheet named animals
    animals: [
      { name: 'cat', category: 'animal' },
      { name: 'dog', category: 'animal' },
      { name: 'pig', category: 'animal' },
    ],
    // Worksheet named pokemons
    pokemons: [
      { name: 'pikachu', category: 'pokemon' },
      { name: 'Arbok', category: 'pokemon' },
      { name: 'Eevee', category: 'pokemon' },
    ],
  };

  return (
    <div>
      <ExcelDownloder
        data={data}
        filename={'book'}
        type={Type.Button} // or type={'button'}
      >
        Download
      </ExcelDownloder>
    </div>
  );
}

export default App;

πŸ‘¨β€πŸ’» Link

import React from 'react';

import { useExcelDownloder } from 'react-xls';

function App() {
  const { ExcelDownloder, Type } = useExcelDownloder();

  // We will make a Workbook contains 2 Worksheets
  const data = {
    // Worksheet named animals
    animals: [
      { name: 'cat', category: 'animal' },
      { name: 'dog', category: 'animal' },
      { name: 'pig', category: 'animal' },
    ],
    // Worksheet named pokemons
    pokemons: [
      { name: 'pikachu', category: 'pokemon' },
      { name: 'Arbok', category: 'pokemon' },
      { name: 'Eevee', category: 'pokemon' },
    ],
  };

  return (
    <div>
      <ExcelDownloder
        data={data}
        filename={'book'}
        type={Type.Link} // or type={'link'}
      >
        Download
      </ExcelDownloder>
    </div>
  );
}

export default App;

πŸ“– useExcelDownloder Returned Object

Object Properties Description
ExcelDownloder React component that render the link/button which is clicked to download the data provided in excel file.
Type Constant object ( Type.Line && Type.Button ).
setData Method that use to set data.
setFilename Method that use to set filename.
setStyle Method that use to set style.
setClassName Method that use to set className.

πŸ“– ExcelDownloder props

Props Type Default Description Required
children node React component, HTML element or string. βœ…
data object Downloaded data. βœ…
filename string Filename ( .xlsx extension is automatically added ). βœ…
type string 'link' If 'button', render button. ❌
style object {} Inline style. ❌
className string '' className ❌

πŸ“œ Changelog

Latest version 0.1.0 (2021-08-15):

  • Add useExcelDownloader

Details changes for each release are documented in the CHANGELOG.md.

❗ Issues

If you think any of the react-xls can be improved, please do open a PR with any updates and submit any issues. Also, I will continue to improve this, so you might want to watch/star this repository to revisit.

πŸ’ͺ Contribution

We'd love to have your helping hand on contributions to react-xls by forking and sending a pull request!

Your contributions are heartily β™‘ welcome, recognized and appreciated. (βœΏβ— β€Ώβ— )

How to contribute:

  • Open pull request with improvements
  • Discuss ideas in issues
  • Spread the word
  • Reach out with any feedback

πŸ† Contributors

Bunlong
Bunlong

βš–οΈ License

The MIT License License: MIT

About

react-xls is the fastest in-browser excel ( .xls & .xlsx ) parser for React. It is full of useful features such as useExcelDownloader, ... etc.

License:MIT License


Languages

Language:JavaScript 45.9%Language:TypeScript 30.1%Language:HTML 15.6%Language:CSS 8.4%