dd
This commit is contained in:
155
extensions/Excel转JSON/node_modules/node-xlsx/README.md
generated
vendored
Normal file
155
extensions/Excel转JSON/node_modules/node-xlsx/README.md
generated
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
# Node XLSX
|
||||
|
||||
[](https://www.npmjs.com/package/node-xlsx)
|
||||
[](https://tldrlegal.com/license/apache-license-2.0-(apache-2.0))
|
||||

|
||||
[](https://www.npmjs.com/package/node-xlsx)<br />
|
||||
[](http://travis-ci.org/mgcrea/node-xlsx)
|
||||
[](https://david-dm.org/mgcrea/node-xlsx)
|
||||
[](https://david-dm.org/mgcrea/node-xlsx#info=devDependencies)
|
||||
[](https://www.codacy.com/app/mgcrea/node-xlsx?utm_source=github.com&utm_medium=referral&utm_content=mgcrea/node-xlsx&utm_campaign=Badge_Grade)
|
||||
[](https://www.codacy.com/app/mgcrea/node-xlsx?utm_source=github.com&utm_medium=referral&utm_content=mgcrea/node-xlsx&utm_campaign=Badge_Coverage)
|
||||
|
||||
|
||||
Excel file parser/builder that relies on [js-xlsx](https://github.com/SheetJS/js-xlsx).
|
||||
|
||||
|
||||
## Usage
|
||||
### Installation
|
||||
```npm install node-xlsx --save```
|
||||
### Examples
|
||||
|
||||
1. Parsing a xlsx from file/buffer, outputs an array of worksheets
|
||||
|
||||
```js
|
||||
import xlsx from 'node-xlsx';
|
||||
// Or var xlsx = require('node-xlsx').default;
|
||||
|
||||
// Parse a buffer
|
||||
const workSheetsFromBuffer = xlsx.parse(fs.readFileSync(`${__dirname}/myFile.xlsx`));
|
||||
// Parse a file
|
||||
const workSheetsFromFile = xlsx.parse(`${__dirname}/myFile.xlsx`);
|
||||
```
|
||||
|
||||
2. Building a xlsx
|
||||
|
||||
```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']];
|
||||
var buffer = xlsx.build([{name: "mySheetName", data: data}]); // Returns a buffer
|
||||
```
|
||||
|
||||
* Custom column width
|
||||
```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 options = {'!cols': [{ wch: 6 }, { wch: 7 }, { wch: 10 }, { wch: 20 } ]};
|
||||
|
||||
var buffer = xlsx.build([{name: "mySheetName", data: data}], options); // Returns a buffer
|
||||
```
|
||||
|
||||
* Spanning multiple rows `A1:A4` in every sheets
|
||||
```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 options = {'!merges': [ range ]};
|
||||
|
||||
var buffer = xlsx.build([{name: "mySheetName", data: data}], options); // Returns a buffer
|
||||
```
|
||||
|
||||
* Spanning multiple rows `A1:A4` in second sheet only
|
||||
```js
|
||||
import xlsx from 'node-xlsx';
|
||||
// Or var xlsx = require('node-xlsx').default;
|
||||
|
||||
const dataSheet1 = [[1, 2, 3], [true, false, null, 'sheetjs'], ['foo', 'bar', new Date('2014-02-19T14:30Z'), '0.3'], ['baz', null, 'qux']];
|
||||
const dataSheet2 = [[4, 5, 6], [7, 8, 9, 10], [11, 12, 13, 14], ['baz', null, 'qux']];
|
||||
const range = {s: {c: 0, r:0 }, e: {c:0, r:3}}; // A1:A4
|
||||
const sheetOptions = {'!merges': [ range ]};
|
||||
|
||||
var buffer = xlsx.build([{name: "myFirstSheet", data: dataSheet1}, {name: "mySecondSheet", data: dataSheet2, options: sheetOptions}]); // Returns a buffer
|
||||
```
|
||||
_Beware that if you try to merge several times the same cell, your xlsx file will be seen as corrupted._
|
||||
|
||||
|
||||
* Using Primitive Object Notation
|
||||
Data values can also be specified in a non-abstracted representation.
|
||||
|
||||
Examples:
|
||||
```js
|
||||
const rowAverage = [[{t:'n', z:10, f:'=AVERAGE(2:2)'}], [1,2,3];
|
||||
var buffer = xlsx.build([{name: "Average Formula", data: rowAverage}]);
|
||||
```
|
||||
|
||||
Refer to [xlsx](https://sheetjs.gitbooks.io) documentation for valid structure and values:
|
||||
- Cell Object: https://sheetjs.gitbooks.io/docs/#cell-object
|
||||
- Data Types: https://sheetjs.gitbooks.io/docs/#data-types
|
||||
- Format: https://sheetjs.gitbooks.io/docs/#number-formats
|
||||
|
||||
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
This library requires at lease nodeJS v4. For legacy versions, you can use this workaround before using the lib.
|
||||
|
||||
```
|
||||
npm i --save object-assign
|
||||
Object.prototype.assign = require('object-assign');
|
||||
```
|
||||
|
||||
|
||||
### Contributing
|
||||
|
||||
Please submit all pull requests the against master branch. If your unit test contains javascript patches or features, you should include relevant unit tests. Thanks!
|
||||
|
||||
|
||||
### Available scripts
|
||||
|
||||
| **Script** | **Description** |
|
||||
|----------|-------|
|
||||
| start | Alias of test:watch |
|
||||
| test | Run mocha unit tests |
|
||||
| test:watch | Run and watch mocha unit tests |
|
||||
| lint | Run eslint static tests |
|
||||
| compile | Compile the library |
|
||||
| compile:watch | Compile and watch the library |
|
||||
|
||||
|
||||
## Authors
|
||||
|
||||
**Olivier Louvignes**
|
||||
|
||||
+ http://olouv.com
|
||||
+ http://github.com/mgcrea
|
||||
|
||||
|
||||
## Copyright and license
|
||||
|
||||
[Apache License 2.0](https://spdx.org/licenses/Apache-2.0.html)
|
||||
|
||||
```
|
||||
Copyright (C) 2012-2014 Olivier Louvignes
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Except where noted, this license applies to any and all software programs and associated documentation files created by the Original Author and distributed with the Software:
|
||||
|
||||
Inspired by SheetJS gist examples, Copyright (c) SheetJS.
|
||||
```
|
||||
Reference in New Issue
Block a user