Doc Improvements [ci skip]
This commit is contained in:
parent
c9d0aa140d
commit
b3ace1e5a9
51
README.md
51
README.md
@ -85,6 +85,8 @@ with a unified JS representation, and ES3/ES5 browser compatibility back to IE6.
|
||||
+ [Data Interchange Format (DIF)](#data-interchange-format-dif)
|
||||
+ [HTML](#html)
|
||||
- [Testing](#testing)
|
||||
* [Node](#node)
|
||||
* [Browser](#browser)
|
||||
* [Tested Environments](#tested-environments)
|
||||
* [Test Files](#test-files)
|
||||
- [Contributing](#contributing)
|
||||
@ -1151,7 +1153,7 @@ S,h,e,e,t,J,S
|
||||
S h e e t J S
|
||||
1 2 3 4 5 6 7
|
||||
2 3 4 5 6 7 8
|
||||
> console.log(X.utils.sheet_to_csv(_ws,{FS:":",RS:"|"}));
|
||||
> console.log(XLSX.utils.sheet_to_csv(ws,{FS:":",RS:"|"}));
|
||||
S:h:e:e:t:J:S|1:2:3:4:5:6:7|2:3:4:5:6:7:8|
|
||||
```
|
||||
|
||||
@ -1202,7 +1204,7 @@ generate different types of JS objects. The function takes an options argument:
|
||||
|
||||
| `header` | Description |
|
||||
| :--------------- | :-------------------------------------------------------- |
|
||||
| `1` | Generate an array of arrays |
|
||||
| `1` | Generate an array of arrays ("2D Array") |
|
||||
| `"A"` | Row object keys are literal column labels |
|
||||
| array of strings | Use specified strings as keys in row objects |
|
||||
| (default) | Read and disambiguate first row as keys |
|
||||
@ -1213,34 +1215,34 @@ If header is not `1`, the row object will contain the non-enumerable property
|
||||
For the example sheet:
|
||||
|
||||
```js
|
||||
> console.log(X.utils.sheet_to_json(_ws));
|
||||
> console.log(XLSX.utils.sheet_to_json(ws));
|
||||
[ { S: 1, h: 2, e: 3, e_1: 4, t: 5, J: 6, S_1: 7 },
|
||||
{ S: 2, h: 3, e: 4, e_1: 5, t: 6, J: 7, S_1: 8 } ]
|
||||
|
||||
> console.log(X.utils.sheet_to_json(_ws, {header:1}));
|
||||
> console.log(XLSX.utils.sheet_to_json(ws, {header:1}));
|
||||
[ [ 'S', 'h', 'e', 'e', 't', 'J', 'S' ],
|
||||
[ 1, 2, 3, 4, 5, 6, 7 ],
|
||||
[ 2, 3, 4, 5, 6, 7, 8 ] ]
|
||||
[ '1', '2', '3', '4', '5', '6', '7' ],
|
||||
[ '2', '3', '4', '5', '6', '7', '8' ] ]
|
||||
|
||||
> console.log(X.utils.sheet_to_json(_ws, {header:"A"}));
|
||||
> console.log(XLSX.utils.sheet_to_json(ws, {header:"A"}));
|
||||
[ { A: 'S', B: 'h', C: 'e', D: 'e', E: 't', F: 'J', G: 'S' },
|
||||
{ A: 1, B: 2, C: 3, D: 4, E: 5, F: 6, G: 7 },
|
||||
{ A: 2, B: 3, C: 4, D: 5, E: 6, F: 7, G: 8 } ]
|
||||
> console.log(X.utils.sheet_to_json(_ws, {header:["A","E","I","O","U","6","9"]}));
|
||||
{ A: '1', B: '2', C: '3', D: '4', E: '5', F: '6', G: '7' },
|
||||
{ A: '2', B: '3', C: '4', D: '5', E: '6', F: '7', G: '8' } ]
|
||||
> console.log(XLSX.utils.sheet_to_json(ws, {header:["A","E","I","O","U","6","9"]}));
|
||||
[ { '6': 'J', '9': 'S', A: 'S', E: 'h', I: 'e', O: 'e', U: 't' },
|
||||
{ '6': 6, '9': 7, A: 1, E: 2, I: 3, O: 4, U: 5 },
|
||||
{ '6': 7, '9': 8, A: 2, E: 3, I: 4, O: 5, U: 6 } ]
|
||||
{ '6': '6', '9': '7', A: '1', E: '2', I: '3', O: '4', U: '5' },
|
||||
{ '6': '7', '9': '8', A: '2', E: '3', I: '4', O: '5', U: '6' } ]
|
||||
```
|
||||
|
||||
Example showing the effect of `raw`:
|
||||
|
||||
```js
|
||||
> _ws['A2'].w = "1"; // set A2 formatted string value
|
||||
> console.log(X.utils.sheet_to_json(_ws, {header:1}));
|
||||
> ws['A2'].w = "3"; // set A2 formatted string value
|
||||
> console.log(XLSX.utils.sheet_to_json(ws, {header:1}));
|
||||
[ [ 'S', 'h', 'e', 'e', 't', 'J', 'S' ],
|
||||
[ '1', 2, 3, 4, 5, 6, 7 ], // <-- A2 uses the formatted string
|
||||
[ 2, 3, 4, 5, 6, 7, 8 ] ]
|
||||
> console.log(X.utils.sheet_to_json(_ws, {header:1, raw:true}));
|
||||
[ '3', '2', '3', '4', '5', '6', '7' ], // <-- A2 uses the formatted string
|
||||
[ '2', '3', '4', '5', '6', '7', '8' ] ]
|
||||
> console.log(XLSX.utils.sheet_to_json(ws, {header:1, raw:true}));
|
||||
[ [ 'S', 'h', 'e', 'e', 't', 'J', 'S' ],
|
||||
[ 1, 2, 3, 4, 5, 6, 7 ], // <-- A2 uses the raw value
|
||||
[ 2, 3, 4, 5, 6, 7, 8 ] ]
|
||||
@ -1401,17 +1403,20 @@ the metadata the output is valid HTML, although it does accept bare `&` symbols.
|
||||
|
||||
## Testing
|
||||
|
||||
### Node
|
||||
|
||||
`make test` will run the node-based tests. By default it runs tests on files in
|
||||
every supported format. To test a specific file type, set `FMTS` to the format
|
||||
you want to test. Feature-specific tests are avaialble with `make test_misc`
|
||||
|
||||
```bash
|
||||
$ make test_misc # run core tests
|
||||
$ make test # run full tests
|
||||
$ make test_xls # only use the XLS test files
|
||||
$ make test_xlsx # only use the XLSX test files
|
||||
$ make test_xlsb # only use the XLSB test files
|
||||
$ make test_xml # only use the XLSB test files
|
||||
$ make test_ods # only use the XLSB test files
|
||||
$ make test_xml # only use the XML test files
|
||||
$ make test_ods # only use the ODS test files
|
||||
```
|
||||
|
||||
To enable all errors, set the environment variable `WTF=1`:
|
||||
@ -1428,8 +1433,14 @@ $ make lint # JSHint and JSCS checks
|
||||
$ make flow # make lint + Flow checking
|
||||
```
|
||||
|
||||
The core in-browser tests are available at `tests/test.html` within this repo.
|
||||
### Browser
|
||||
|
||||
The core in-browser tests are available at `tests/index.html` within this repo.
|
||||
Start a local server and navigate to that directory to run the tests.
|
||||
`make ctestserv` will start a server on port 8000.
|
||||
|
||||
`make ctest` will generate the browser fixtures. To add more files, edit the
|
||||
`tests/fixtures.lst` file and add the paths.
|
||||
|
||||
To run the full in-browser tests, clone the repo for
|
||||
[oss.sheetjs.com](https://github.com/SheetJS/SheetJS.github.io) and replace
|
||||
|
@ -105,7 +105,7 @@ S,h,e,e,t,J,S
|
||||
S h e e t J S
|
||||
1 2 3 4 5 6 7
|
||||
2 3 4 5 6 7 8
|
||||
> console.log(X.utils.sheet_to_csv(_ws,{FS:":",RS:"|"}));
|
||||
> console.log(XLSX.utils.sheet_to_csv(ws,{FS:":",RS:"|"}));
|
||||
S:h:e:e:t:J:S|1:2:3:4:5:6:7|2:3:4:5:6:7:8|
|
||||
```
|
||||
|
||||
@ -156,7 +156,7 @@ generate different types of JS objects. The function takes an options argument:
|
||||
|
||||
| `header` | Description |
|
||||
| :--------------- | :-------------------------------------------------------- |
|
||||
| `1` | Generate an array of arrays |
|
||||
| `1` | Generate an array of arrays ("2D Array") |
|
||||
| `"A"` | Row object keys are literal column labels |
|
||||
| array of strings | Use specified strings as keys in row objects |
|
||||
| (default) | Read and disambiguate first row as keys |
|
||||
@ -167,34 +167,34 @@ If header is not `1`, the row object will contain the non-enumerable property
|
||||
For the example sheet:
|
||||
|
||||
```js
|
||||
> console.log(X.utils.sheet_to_json(_ws));
|
||||
> console.log(XLSX.utils.sheet_to_json(ws));
|
||||
[ { S: 1, h: 2, e: 3, e_1: 4, t: 5, J: 6, S_1: 7 },
|
||||
{ S: 2, h: 3, e: 4, e_1: 5, t: 6, J: 7, S_1: 8 } ]
|
||||
|
||||
> console.log(X.utils.sheet_to_json(_ws, {header:1}));
|
||||
> console.log(XLSX.utils.sheet_to_json(ws, {header:1}));
|
||||
[ [ 'S', 'h', 'e', 'e', 't', 'J', 'S' ],
|
||||
[ 1, 2, 3, 4, 5, 6, 7 ],
|
||||
[ 2, 3, 4, 5, 6, 7, 8 ] ]
|
||||
[ '1', '2', '3', '4', '5', '6', '7' ],
|
||||
[ '2', '3', '4', '5', '6', '7', '8' ] ]
|
||||
|
||||
> console.log(X.utils.sheet_to_json(_ws, {header:"A"}));
|
||||
> console.log(XLSX.utils.sheet_to_json(ws, {header:"A"}));
|
||||
[ { A: 'S', B: 'h', C: 'e', D: 'e', E: 't', F: 'J', G: 'S' },
|
||||
{ A: 1, B: 2, C: 3, D: 4, E: 5, F: 6, G: 7 },
|
||||
{ A: 2, B: 3, C: 4, D: 5, E: 6, F: 7, G: 8 } ]
|
||||
> console.log(X.utils.sheet_to_json(_ws, {header:["A","E","I","O","U","6","9"]}));
|
||||
{ A: '1', B: '2', C: '3', D: '4', E: '5', F: '6', G: '7' },
|
||||
{ A: '2', B: '3', C: '4', D: '5', E: '6', F: '7', G: '8' } ]
|
||||
> console.log(XLSX.utils.sheet_to_json(ws, {header:["A","E","I","O","U","6","9"]}));
|
||||
[ { '6': 'J', '9': 'S', A: 'S', E: 'h', I: 'e', O: 'e', U: 't' },
|
||||
{ '6': 6, '9': 7, A: 1, E: 2, I: 3, O: 4, U: 5 },
|
||||
{ '6': 7, '9': 8, A: 2, E: 3, I: 4, O: 5, U: 6 } ]
|
||||
{ '6': '6', '9': '7', A: '1', E: '2', I: '3', O: '4', U: '5' },
|
||||
{ '6': '7', '9': '8', A: '2', E: '3', I: '4', O: '5', U: '6' } ]
|
||||
```
|
||||
|
||||
Example showing the effect of `raw`:
|
||||
|
||||
```js
|
||||
> _ws['A2'].w = "1"; // set A2 formatted string value
|
||||
> console.log(X.utils.sheet_to_json(_ws, {header:1}));
|
||||
> ws['A2'].w = "3"; // set A2 formatted string value
|
||||
> console.log(XLSX.utils.sheet_to_json(ws, {header:1}));
|
||||
[ [ 'S', 'h', 'e', 'e', 't', 'J', 'S' ],
|
||||
[ '1', 2, 3, 4, 5, 6, 7 ], // <-- A2 uses the formatted string
|
||||
[ 2, 3, 4, 5, 6, 7, 8 ] ]
|
||||
> console.log(X.utils.sheet_to_json(_ws, {header:1, raw:true}));
|
||||
[ '3', '2', '3', '4', '5', '6', '7' ], // <-- A2 uses the formatted string
|
||||
[ '2', '3', '4', '5', '6', '7', '8' ] ]
|
||||
> console.log(XLSX.utils.sheet_to_json(ws, {header:1, raw:true}));
|
||||
[ [ 'S', 'h', 'e', 'e', 't', 'J', 'S' ],
|
||||
[ 1, 2, 3, 4, 5, 6, 7 ], // <-- A2 uses the raw value
|
||||
[ 2, 3, 4, 5, 6, 7, 8 ] ]
|
||||
|
@ -62,6 +62,8 @@
|
||||
+ [Data Interchange Format (DIF)](README.md#data-interchange-format-dif)
|
||||
+ [HTML](README.md#html)
|
||||
- [Testing](README.md#testing)
|
||||
* [Node](README.md#node)
|
||||
* [Browser](README.md#browser)
|
||||
* [Tested Environments](README.md#tested-environments)
|
||||
* [Test Files](README.md#test-files)
|
||||
- [Contributing](README.md#contributing)
|
||||
|
Loading…
Reference in New Issue
Block a user