Comparing version 0.10.0 to 0.11.0
@@ -6,4 +6,6 @@ 'use strict'; | ||
}); | ||
exports.isString = exports.isNumber = exports.isBoolean = exports.buildSheetFromMatrix = undefined; | ||
exports.isCellDescriptor = exports.isObject = exports.isString = exports.isNumber = exports.isBoolean = exports.buildSheetFromMatrix = undefined; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
var _xlsx = require('xlsx'); | ||
@@ -24,2 +26,8 @@ | ||
}; | ||
var isObject = function isObject(maybeObject) { | ||
return maybeObject !== null && (typeof maybeObject === 'undefined' ? 'undefined' : _typeof(maybeObject)) === 'object'; | ||
}; | ||
var isCellDescriptor = function isCellDescriptor(maybeCell) { | ||
return isObject(maybeCell) && 'v' in maybeCell; | ||
}; | ||
@@ -52,3 +60,3 @@ var originDate = new Date(Date.UTC(1899, 11, 30)); | ||
} | ||
var cell = { v: data[R][C] }; | ||
var cell = isCellDescriptor(data[R][C]) ? data[R][C] : { v: data[R][C] }; | ||
var cellRef = _xlsx2.default.utils.encode_cell({ c: C, r: R }); | ||
@@ -62,6 +70,7 @@ if (isNumber(cell.v)) { | ||
cell.v = buildExcelDate(cell.v); | ||
cell.z = _xlsx2.default.SSF._table[14]; // eslint-disable-line no-underscore-dangle | ||
cell.z = cell.z || _xlsx2.default.SSF._table[14]; // eslint-disable-line no-underscore-dangle | ||
} else { | ||
cell.t = 's'; | ||
} | ||
if (isNumber(cell.z)) cell.z = _xlsx2.default.SSF._table[cell.z]; // eslint-disable-line no-underscore-dangle | ||
workSheet[cellRef] = cell; | ||
@@ -86,2 +95,4 @@ } | ||
exports.isString = isString; | ||
exports.isObject = isObject; | ||
exports.isCellDescriptor = isCellDescriptor; | ||
//# sourceMappingURL=helpers.js.map |
{ | ||
"name": "node-xlsx", | ||
"author": "Olivier Louvignes <olivier@mg-crea.com>", | ||
"version": "0.10.0", | ||
"version": "0.11.0", | ||
"description": "NodeJS Excel files parser & builder", | ||
@@ -20,16 +20,16 @@ "main": "lib/index.js", | ||
"dependencies": { | ||
"xlsx": "^0.10.8" | ||
"xlsx": "^0.11.3" | ||
}, | ||
"devDependencies": { | ||
"babel-cli": "^6.24.1", | ||
"babel-cli": "^6.26.0", | ||
"babel-eslint": "^7.2.3", | ||
"babel-plugin-transform-class-properties": "^6.24.1", | ||
"babel-plugin-transform-function-bind": "^6.22.0", | ||
"babel-plugin-transform-object-rest-spread": "^6.23.0", | ||
"babel-plugin-transform-object-rest-spread": "^6.26.0", | ||
"babel-preset-es2015": "^6.24.1", | ||
"babel-register": "^6.24.1", | ||
"babel-register": "^6.26.0", | ||
"codacy-coverage": "^2.0.2", | ||
"debug-utils": "^0.2.1", | ||
"eslint": "^4.3.0", | ||
"eslint-config-airbnb-base": "^11.2.0", | ||
"eslint": "^4.5.0", | ||
"eslint-config-airbnb-base": "^11.3.2", | ||
"eslint-plugin-import": "^2.7.0", | ||
@@ -36,0 +36,0 @@ "expect": "^1.20.2", |
# Node XLSX | ||
[![npm version](https://img.shields.io/npm/v/node-xlsx.svg?style=flat)](https://www.npmjs.com/package/node-xlsx) [![license](https://img.shields.io/github/license/mgcrea/node-xlsx.svg?style=flat)](https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)) [![build status](http://img.shields.io/travis/mgcrea/node-xlsx/master.svg?style=flat)](http://travis-ci.org/mgcrea/node-xlsx) [![dependencies status](https://img.shields.io/david/mgcrea/node-xlsx.svg?style=flat)](https://david-dm.org/mgcrea/node-xlsx) [![devDependencies status](https://img.shields.io/david/dev/mgcrea/node-xlsx.svg?style=flat)](https://david-dm.org/mgcrea/node-xlsx#info=devDependencies) [![coverage status](http://img.shields.io/codeclimate/coverage/github/mgcrea/node-xlsx.svg?style=flat)](https://codeclimate.com/github/mgcrea/node-xlsx) [![climate status](https://img.shields.io/codeclimate/github/mgcrea/node-xlsx.svg?style=flat)](https://codeclimate.com/github/mgcrea/node-xlsx) | ||
[![npm version](https://img.shields.io/npm/v/node-xlsx.svg?style=flat)](https://www.npmjs.com/package/node-xlsx) | ||
[![license](https://img.shields.io/github/license/mgcrea/node-xlsx.svg?style=flat)](https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)) | ||
[![build status](http://img.shields.io/travis/mgcrea/node-xlsx/master.svg?style=flat)](http://travis-ci.org/mgcrea/node-xlsx) | ||
[![dependencies status](https://img.shields.io/david/mgcrea/node-xlsx.svg?style=flat)](https://david-dm.org/mgcrea/node-xlsx) | ||
[![devDependencies status](https://img.shields.io/david/dev/mgcrea/node-xlsx.svg?style=flat)](https://david-dm.org/mgcrea/node-xlsx#info=devDependencies) | ||
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5bbea5e7b2084c2586e5599cda6aefc8)](https://www.codacy.com/app/mgcrea/node-xlsx?utm_source=github.com&utm_medium=referral&utm_content=mgcrea/node-xlsx&utm_campaign=Badge_Grade) | ||
[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/5bbea5e7b2084c2586e5599cda6aefc8)](https://www.codacy.com/app/mgcrea/node-xlsx?utm_source=github.com&utm_medium=referral&utm_content=mgcrea/node-xlsx&utm_campaign=Badge_Coverage) | ||
[![npm downloads](https://img.shields.io/npm/dm/node-xlsx.svg)](https://www.npmjs.com/package/node-xlsx) | ||
@@ -8,3 +15,2 @@ Excel file parser/builder that relies on [js-xlsx](https://github.com/SheetJS/js-xlsx). | ||
## Usage | ||
@@ -18,3 +24,3 @@ | ||
import xlsx from 'node-xlsx'; | ||
// Or var xlsx = require('node-xlsx').default; | ||
// Or var xlsx = require('node-xlsx').default; | ||
@@ -27,3 +33,3 @@ // Parse a buffer | ||
1. Building a xlsx | ||
2. Building a xlsx | ||
@@ -38,3 +44,15 @@ ```js | ||
* Building a xlsx (spannig multiple rows `A1:A4`) | ||
```js | ||
import xlsx from 'node-xlsx'; | ||
// Or var xlsx = require('node-xlsx').default; | ||
const data = [[1, 2, 3], [true, false, null, 'sheetjs'], ['foo', 'bar', new Date('2014-02-19T14:30Z'), '0.3'], ['baz', null, 'qux']]; | ||
const range = {s: {c: 0, r:0 }, e: {c:0, r:3}}; // A1:A4 | ||
const option = {'!merges': [ range ]}; | ||
var buffer = xlsx.build([{name: "mySheetName", data: data}], option); // Returns a buffer | ||
``` | ||
### Contributing | ||
@@ -41,0 +59,0 @@ |
@@ -6,2 +6,4 @@ import XLSX from 'xlsx'; | ||
const isString = maybeString => typeof maybeString === 'string'; | ||
const isObject = maybeObject => maybeObject !== null && typeof maybeObject === 'object'; | ||
const isCellDescriptor = maybeCell => isObject(maybeCell) && 'v' in maybeCell; | ||
@@ -32,3 +34,3 @@ const originDate = new Date(Date.UTC(1899, 11, 30)); | ||
} | ||
const cell = {v: data[R][C]}; | ||
const cell = isCellDescriptor(data[R][C]) ? data[R][C] : {v: data[R][C]}; | ||
const cellRef = XLSX.utils.encode_cell({c: C, r: R}); | ||
@@ -42,6 +44,7 @@ if (isNumber(cell.v)) { | ||
cell.v = buildExcelDate(cell.v); | ||
cell.z = XLSX.SSF._table[14]; // eslint-disable-line no-underscore-dangle | ||
cell.z = cell.z || XLSX.SSF._table[14]; // eslint-disable-line no-underscore-dangle | ||
} else { | ||
cell.t = 's'; | ||
} | ||
if (isNumber(cell.z)) cell.z = XLSX.SSF._table[cell.z]; // eslint-disable-line no-underscore-dangle | ||
workSheet[cellRef] = cell; | ||
@@ -62,2 +65,2 @@ } | ||
export {buildSheetFromMatrix, isBoolean, isNumber, isString}; | ||
export {buildSheetFromMatrix, isBoolean, isNumber, isString, isObject, isCellDescriptor}; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
50849
339
102
+ Addedadler-32@1.2.0(transitive)
+ Addedcfb@1.0.8(transitive)
+ Addedcodepage@1.12.2(transitive)
+ Addedcommander@2.13.02.14.12.20.3(transitive)
+ Addedcrc-32@1.2.2(transitive)
+ Addedxlsx@0.11.19(transitive)
- Removedadler-32@1.1.0(transitive)
- Removedcfb@0.12.1(transitive)
- Removedcodepage@1.10.2(transitive)
- Removedcommander@2.11.0(transitive)
- Removedcrc-32@1.1.1(transitive)
- Removedvoc@1.0.0(transitive)
- Removedxlsx@0.10.9(transitive)
Updatedxlsx@^0.11.3