Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Export html table to excel file in browser

NotificationsYou must be signed in to change notification settings

JackGit/table2excel.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a library to export html tables to excel sheets.

Precondition

It has to be a row * column table

Features

  1. able to export with width, alignment and colors
  2. extendable

Dependencies

ExcelJS

FileSaver.js

Live Demo

Demo

Include table2excel.js

npm

ExcelJS is peer dependency totable2excel.js, so you need to install exceljs first:

npm i exceljs

then, install table2excel.js:

npm i table2excel.js

use in your code like:

importTable2Excelfrom'table2excel.js'newTable2Excel('table').export()

you may also need a config in webpack:

node:{fs:'empty'}

table2excel.min.js (with ExcelJS packed)

<scriptsrc="path/to/table2excel.min.js"></script>

table2excel.core.js (without ExcelJS packed)

<scriptsrc="path/to/exceljs.min.js"></script><scriptsrc="path/to/table2excel.core.js"></script>

Basic Usage

consttable2Excel=newTable2Excel(selector,options)// new Table2Excel('table')table2Excel.export(fileName,extension)// table2Excel.export('my-exported-table', 'xlsx')

extension can be'xls' or'xlsx', default as'xlsx'

selector

It's optional, and defaulted as'table'

options

It's optional, and defaulted as:

{workbook:{views:[{x:0,y:0,width:10000,height:20000,firstSheet:0,activeTab:1,visibility:'visible'}]},widthRatio:.14,plugins:[Table2Excel.plugins.fontPlugin,Table2Excel.plugins.fillPlugin,Table2Excel.plugins.formPlugin,Table2Excel.plugins.alignmentPlugin,Table2Excel.plugins.hyperlinkPlugin,Table2Excel.plugins.autoWidthPlugin]}

workbook is options used while creating a workbook, please referexceljs#create-a-workbook for details.

widthRatio is a ratio that will be used while convertingwidth style of html table cells to width of sheet cells.

Plugins

Plugin helps to extend the ability of transforming table to excel.

Build-in plugins can be access like:

Table2Excel.plugins.fontPlugin,Table2Excel.plugins.fillPlugin,Table2Excel.plugins.formPlugin,Table2Excel.plugins.alignmentPlugin,Table2Excel.plugins.hyperlinkPlugin,Table2Excel.plugins.autoWidthPlugin

A plugin can be defined to join different phase of table to excel process, and in different phase, plugin is able to access different objects from context.

{/**   * after an empty workbook created   *@param  {ExcelJS.Workbook} context.workbook   *@param  {NodeList} context.tables   */workbookCreated({ workbook, tables}){},/**   * after an empty worksheet created   *@param  {ExcelJS.Workbook} workbook   *@param  {NodeList} tables   *@param  {ExcelJS.Worksheet} worksheet   *@param  {HTMLTableElement} table   */worksheetCreated({ workbook, tables, worksheet, table}){},/**   * after a worksheet been filled with data from table   *@param  {ExcelJS.Workbook} workbook   *@param  {NodeList} tables   *@param  {ExcelJS.Worksheet} worksheet   *@param  {HTMLTableElement} table   */worksheetCompleted({ workbook, tables, worksheet, table}){},/**   * after an cell of worksheet created   *@param  {ExcelJS.Workbook} workbook   *@param  {NodeList} tables   *@param  {ExcelJS.Worksheet} worksheet   *@param  {HTMLTableElement} table   *@param  {ExcelJS.Cell} workcell   *@param  {HTMLTableCellElement} cell   *@param  {colRange} [from, to]   *@param  {rowRange} [from, to]   */workcellCreated({ workbook, tables, worksheet, table, workcell, cell, cellStyle, colRange, rowRange}){}}

Example 1, you can define a plugin to make some rows or columns hidden of exported excel:

consttable2Excel=newTable2Excel('table',{plugins:[{worksheetCompleted({ workbook, tables, worksheet, table}){worksheet.getRow(1).hidden=trueworksheet.getColumn(1).hidden=true}}]})

Example 2, you can add your customized cell parser for your table:

consttable2Excel=newTable2Excel('table',{plugins:[{workcellCreated({ workbook, tables, worksheet, table, workcell, cell, cellStyle, rowRange, colRange}){workcell.value={text:'',link:''}workcell.style={        ...workcell.style,font:{},color:{}}}}]})

About

Export html table to excel file in browser

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp