JSPM

  • Created
  • Published
  • Downloads 2201923
  • Score
    100M100P100Q189752F
  • License MIT

Excel Workbook Manager

Package Exports

  • exceljs
  • exceljs/lib/xlsx/xlsx

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (exceljs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ExcelJS

Read, manipulate and write spreadsheet data to XLSX and JSON.

Reverse engineered from Excel spreadsheet files as a project.

Installation

npm install exceljs

Interface

var Excel = require("????");

Construction

// create a workbook var workbook = new Excel.Workbook();

// add a worksheet var sheet = workbook.addWorksheet("My Sheet");

// access worksheets workbook.worksheets.forEach(function(worksheet) { // ... });

// fetch sheet by name var sheet = workbook.getWorksheet("My Sheet");

// fetch sheet by id var sheet = workbook.getWorksheet(1);

// Add column headers and define column keys and widths sheet.columns = [ { header: "Id", key: "id", width: 10 }, { header: "Name", key: "name", width: 32 }, { header: "D.O.B.", key: "dob", width: 10 } ];

// Add a couple of Rows by key-value sheet.addRow({id: 1, name: "John Doe", dob: new Date(1970,1,1)}); sheet.addRow({id: 2, name: "Jane Doe", dob: new Date(1965,1,7)});

// Add another row by Array sheet.addRow([3, "Sam", new Date()]);

// Modify individual cells sheet.getCell("C3").value = new Date(1968, 5, 1);

// query a cell's type assert(sheet.getCell("C3").type == Excel.ValueType.Date);

// Add new cells individually sheet.getCell("C5").value = {formula:"MIN(C2:C3)", new Date(1965,1,7)};

// merge cells sheet.mergeCells("A4:B5");

// ... merged cells are linked sheet.getCell("B5").value = "Hello, World!"; assert(sheet.getCell("A4").value === sheet.getCell("B5"));

Value Types

Name Enum(*) Description Example Value
Null 0 No value. null
Merge 1 N/A N/A
Number 2 A numerical value 3.14
String 3 A text value "Hello, World!"
Date 4 A Date value new Date()
Hyperlink 5 A hyperlink { text: "www.mylink.com", hyperlink: "http://www.mylink.com" }
Formula 6 A formula { formula: "A1+A2", result: 7 }

(*) Enum values can be accessed via Excel.ValueType

Reading XLSX

// read from a file var workbook = new Excel.Workbook(); workbook.xlsx.readFile(filename) .then(function() { // use workbook });

// pipe from stream var workbook = new Excel.Workbook(); stream.pipe(workbook.xlsx.createInputStream());

Writing XLSX

// write to a file var workbook = createAndFillWorkbook(); workbook.xlsx.writeFile(filename) .then(function() { // done });

// write to a stream workbook.xlsx.write(stream) .then(function() { // done });