1.1.0 • Published 2 years ago

@garsaud/tabletocsv v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

tableToCsv

Simply convert a table into a CSV representation

Example

<table>
    <thead>
        <tr>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Age</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Eustache</td>
            <td>Beaugenoux</td>
            <td>65</td>
        </tr>
        <tr>
            <td>Aristide</td>
            <td>Rouquitourne</td>
            <td>46</td>
        </tr>
        <tr>
            <td>Gersande</td>
            <td>De Ronflefort</td>
            <td>78</td>
        </tr>
    </tbody>
</table>
// ES module
import TableToCsv from 'tableToCsv.js';

// Common JS
const TableToCsv = require('tableToCsv.js');

const csv = new TableToCsv(document.querySelector('table'));
csv.download();

A csv file is downloaded, containing:

"First Name","Last Name","Age"
"Eustache","Beaugenoux","65"
"Aristide","Rouquitourne","46"
"Gersande","De Ronflefort","78"

A few options are available:

const csv = new TableToCsv(node, {
    filename: 'table.csv',
    cellSeparator: ',',
    rowSeparator: '\n',

    // in case your cells contains UTF-8 special characters, for Excel to render
    // them correctly:
    insertBOM: true,
});

If the table changes after initialization, you can refresh programmatically:

const csv = new TableToCsv(…);

// table changes...

csv.refresh();
csv.download('filename.csv');