html-table-to-excel.ts
v1.0.1
Published
Convert a html table element into excel file
Downloads
17
Maintainers
Readme
html-table-to-excel.ts
Convert a html table element into excel file
Installation
npm install html-table-to-excel.ts
You can also install with pnpm, yarn, or slnpm
Then import from typescript:
import { downloadTableAsExcel, tableToFile } from 'html-table-to-excel.ts'
Or require from javascript:
let { downloadTableAsExcel, tableToFile } = require('html-table-to-excel.ts')
You can also load the browser.js or esm.js from CDN
Load as traditional javascript library
<script src="https://cdn.jsdelivr.net/npm/html-table-to-excel.ts@1/browser.js"></script>
Or load as ESM module
import {
downloadTableAsExcel,
tableToFile,
} from 'https://cdn.jsdelivr.net/npm/html-table-to-excel.ts@1/esm.js'
Usage Example
import { downloadTableAsExcel, tableToFile } from 'html-table-to-excel.ts'
let table = document.querySelector('table')!
document.querySelector('#download')!.addEventListener('click', () => {
downloadTableAsExcel(table, 'data.xls')
})
document.querySelector('#upload')!.addEventListener('click', () => {
let file = tableToFile(table, 'data.xls')
let formData = new FormData()
formData.append('file', file)
fetch('/upload', { method: 'POST', body: formData })
})
Typescript Types
/* core functions */
// download from browser
export function downloadTableAsExcel(
table: HTMLTableElement,
filename?: string,
): void
// to be uploaded to server
export function tableToFile(
table: HTMLTableElement,
filename?: string,
options?: Pick<FilePropertyBag, 'lastModified'>,
): File
/* helper functions */
export function tableHTMLToExcelXML(tableHTML: string): string
export function excelXMLToDataUrl(xml: string): string
export function downloadDataUrlAsFile(dataUrl: string, filename: string): void
export function textToBlob(text: string, mimeType: string): Blob
export function excelXMLToFile(
xml: string,
filename?: string,
options?: Pick<FilePropertyBag, 'lastModified'>,
): File
License
This project is licensed with BSD-2-Clause
This is free, libre, and open-source software. It comes down to four essential freedoms [ref]:
- The freedom to run the program as you wish, for any purpose
- The freedom to study how the program works, and change it so it does your computing as you wish
- The freedom to redistribute copies so you can help others
- The freedom to distribute copies of your modified versions to others