dd
This commit is contained in:
142
extensions/Excel转JSON/node_modules/node-xlsx/lib/helpers.js
generated
vendored
Normal file
142
extensions/Excel转JSON/node_modules/node-xlsx/lib/helpers.js
generated
vendored
Normal file
@@ -0,0 +1,142 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.buildSheetFromMatrix = exports.buildExcelDate = exports.isCellDescriptor = exports.isObject = exports.isString = exports.isNumber = exports.isBoolean = void 0;
|
||||
|
||||
var _xlsx = _interopRequireDefault(require("xlsx"));
|
||||
|
||||
var ORIGIN_DATE = new Date(Date.UTC(1899, 11, 30));
|
||||
|
||||
var isBoolean = function isBoolean(maybeBoolean) {
|
||||
return typeof maybeBoolean === 'boolean';
|
||||
};
|
||||
|
||||
exports.isBoolean = isBoolean;
|
||||
|
||||
var isNumber = function isNumber(maybeNumber) {
|
||||
return typeof maybeNumber === 'number';
|
||||
};
|
||||
|
||||
exports.isNumber = isNumber;
|
||||
|
||||
var isString = function isString(maybeString) {
|
||||
return typeof maybeString === 'string';
|
||||
};
|
||||
|
||||
exports.isString = isString;
|
||||
|
||||
var isObject = function isObject(maybeObject) {
|
||||
return maybeObject !== null && typeof maybeObject === 'object';
|
||||
};
|
||||
|
||||
exports.isObject = isObject;
|
||||
|
||||
var isCellDescriptor = function isCellDescriptor(maybeCell) {
|
||||
return isObject(maybeCell) && 'v' in maybeCell;
|
||||
};
|
||||
|
||||
exports.isCellDescriptor = isCellDescriptor;
|
||||
|
||||
var buildExcelDate = function buildExcelDate(value, is1904) {
|
||||
var epoch = Date.parse(value + (is1904 ? 1462 : 0));
|
||||
return (epoch - ORIGIN_DATE) / 864e5;
|
||||
};
|
||||
|
||||
exports.buildExcelDate = buildExcelDate;
|
||||
|
||||
var buildSheetFromMatrix = function buildSheetFromMatrix(data, options) {
|
||||
if (options === void 0) {
|
||||
options = {};
|
||||
}
|
||||
|
||||
var workSheet = {};
|
||||
var range = {
|
||||
s: {
|
||||
c: 1e7,
|
||||
r: 1e7
|
||||
},
|
||||
e: {
|
||||
c: 0,
|
||||
r: 0
|
||||
}
|
||||
};
|
||||
if (!Array.isArray(data)) throw new Error('sheet data is not array');
|
||||
|
||||
for (var R = 0; R !== data.length; R += 1) {
|
||||
for (var C = 0; C !== data[R].length; C += 1) {
|
||||
if (!Array.isArray(data[R])) throw new Error(`${R}th row data is not array`);
|
||||
if (range.s.r > R) range.s.r = R;
|
||||
if (range.s.c > C) range.s.c = C;
|
||||
if (range.e.r < R) range.e.r = R;
|
||||
if (range.e.c < C) range.e.c = C;
|
||||
|
||||
if (data[R][C] === null) {
|
||||
continue; // eslint-disable-line
|
||||
}
|
||||
|
||||
var cell = isCellDescriptor(data[R][C]) ? data[R][C] : {
|
||||
v: data[R][C]
|
||||
};
|
||||
|
||||
var cellRef = _xlsx.default.utils.encode_cell({
|
||||
c: C,
|
||||
r: R
|
||||
});
|
||||
|
||||
if (isNumber(cell.v)) {
|
||||
cell.t = 'n';
|
||||
} else if (isBoolean(cell.v)) {
|
||||
cell.t = 'b';
|
||||
} else if (cell.v instanceof Date) {
|
||||
cell.t = 'n';
|
||||
cell.v = buildExcelDate(cell.v);
|
||||
cell.z = cell.z || _xlsx.default.SSF._table[14]; // eslint-disable-line no-underscore-dangle
|
||||
|
||||
/* eslint-disable spaced-comment, no-trailing-spaces */
|
||||
|
||||
/***
|
||||
* Allows for an non-abstracted representation of the data
|
||||
*
|
||||
* example: {t:'n', z:10, f:'=AVERAGE(A:A)'}
|
||||
*
|
||||
* Documentation:
|
||||
* - 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
|
||||
**/
|
||||
|
||||
/* eslint-disable spaced-comment, no-trailing-spaces */
|
||||
} else if (isObject(cell.v)) {
|
||||
cell.t = cell.v.t;
|
||||
cell.f = cell.v.f;
|
||||
cell.F = cell.v.F;
|
||||
cell.z = cell.v.z;
|
||||
} else {
|
||||
cell.t = 's';
|
||||
}
|
||||
|
||||
if (isNumber(cell.z)) cell.z = _xlsx.default.SSF._table[cell.z]; // eslint-disable-line no-underscore-dangle
|
||||
|
||||
workSheet[cellRef] = cell;
|
||||
}
|
||||
}
|
||||
|
||||
if (range.s.c < 1e7) {
|
||||
workSheet['!ref'] = _xlsx.default.utils.encode_range(range);
|
||||
}
|
||||
|
||||
if (options['!cols']) {
|
||||
workSheet['!cols'] = options['!cols'];
|
||||
}
|
||||
|
||||
if (options['!merges']) {
|
||||
workSheet['!merges'] = options['!merges'];
|
||||
}
|
||||
|
||||
return workSheet;
|
||||
};
|
||||
|
||||
exports.buildSheetFromMatrix = buildSheetFromMatrix;
|
||||
//# sourceMappingURL=helpers.js.map
|
||||
1
extensions/Excel转JSON/node_modules/node-xlsx/lib/helpers.js.map
generated
vendored
Normal file
1
extensions/Excel转JSON/node_modules/node-xlsx/lib/helpers.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
89
extensions/Excel转JSON/node_modules/node-xlsx/lib/index.js
generated
vendored
Normal file
89
extensions/Excel转JSON/node_modules/node-xlsx/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = exports.build = exports.parseMetadata = exports.parse = void 0;
|
||||
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
|
||||
var _xlsx = _interopRequireDefault(require("xlsx"));
|
||||
|
||||
var _bufferFrom = _interopRequireDefault(require("buffer-from"));
|
||||
|
||||
var _helpers = require("./helpers");
|
||||
|
||||
var _workbook = _interopRequireDefault(require("./workbook"));
|
||||
|
||||
var parse = function parse(mixed, options) {
|
||||
if (options === void 0) {
|
||||
options = {};
|
||||
}
|
||||
|
||||
var workSheet = _xlsx.default[(0, _helpers.isString)(mixed) ? 'readFile' : 'read'](mixed, options);
|
||||
|
||||
return Object.keys(workSheet.Sheets).map(function (name) {
|
||||
var sheet = workSheet.Sheets[name];
|
||||
return {
|
||||
name,
|
||||
data: _xlsx.default.utils.sheet_to_json(sheet, {
|
||||
header: 1,
|
||||
raw: options.raw !== false,
|
||||
range: options.range ? options.range[name] : null
|
||||
})
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
exports.parse = parse;
|
||||
|
||||
var parseMetadata = function parseMetadata(mixed, options) {
|
||||
if (options === void 0) {
|
||||
options = {};
|
||||
}
|
||||
|
||||
var workSheet = _xlsx.default[(0, _helpers.isString)(mixed) ? 'readFile' : 'read'](mixed, options);
|
||||
|
||||
return Object.keys(workSheet.Sheets).map(function (name) {
|
||||
var sheet = workSheet.Sheets[name];
|
||||
return {
|
||||
name,
|
||||
data: sheet["!ref"] ? _xlsx.default.utils.decode_range(sheet["!ref"]) : null
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
exports.parseMetadata = parseMetadata;
|
||||
|
||||
var build = function build(worksheets, options) {
|
||||
if (options === void 0) {
|
||||
options = {};
|
||||
}
|
||||
|
||||
var defaults = {
|
||||
bookType: 'xlsx',
|
||||
bookSST: false,
|
||||
type: 'binary'
|
||||
};
|
||||
var workBook = new _workbook.default();
|
||||
worksheets.forEach(function (worksheet) {
|
||||
var sheetName = worksheet.name || 'Sheet';
|
||||
var sheetOptions = worksheet.options || {};
|
||||
var sheetData = (0, _helpers.buildSheetFromMatrix)(worksheet.data || [], (0, _extends2.default)({}, options, sheetOptions));
|
||||
workBook.SheetNames.push(sheetName);
|
||||
workBook.Sheets[sheetName] = sheetData;
|
||||
});
|
||||
|
||||
var excelData = _xlsx.default.write(workBook, (0, _extends2.default)({}, defaults, options));
|
||||
|
||||
return excelData instanceof Buffer ? excelData : (0, _bufferFrom.default)(excelData, 'binary');
|
||||
};
|
||||
|
||||
exports.build = build;
|
||||
var _default = {
|
||||
parse,
|
||||
parseMetadata,
|
||||
build
|
||||
};
|
||||
exports.default = _default;
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
extensions/Excel转JSON/node_modules/node-xlsx/lib/index.js.map
generated
vendored
Normal file
1
extensions/Excel转JSON/node_modules/node-xlsx/lib/index.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../src/index.js"],"names":["parse","mixed","options","workSheet","XLSX","Object","keys","Sheets","map","name","sheet","data","utils","sheet_to_json","header","raw","range","parseMetadata","decode_range","build","worksheets","defaults","bookType","bookSST","type","workBook","Workbook","forEach","worksheet","sheetName","sheetOptions","sheetData","SheetNames","push","excelData","write","Buffer"],"mappings":"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","sourcesContent":["import XLSX from 'xlsx';\nimport bufferFrom from 'buffer-from';\nimport {buildSheetFromMatrix, isString} from './helpers';\nimport Workbook from './workbook';\n\nexport const parse = (mixed, options = {}) => {\n const workSheet = XLSX[isString(mixed) ? 'readFile' : 'read'](mixed, options);\n return Object.keys(workSheet.Sheets).map((name) => {\n const sheet = workSheet.Sheets[name];\n return {name, data: XLSX.utils.sheet_to_json(sheet, {header: 1, raw: options.raw !== false\n , range: options.range ? options.range[name] : null})};\n });\n};\n\nexport const parseMetadata = (mixed, options = {}) => {\n const workSheet = XLSX[isString(mixed) ? 'readFile' : 'read'](mixed, options);\n return Object.keys(workSheet.Sheets).map((name) => {\n const sheet = workSheet.Sheets[name];\n return {name, data: sheet[\"!ref\"] ? XLSX.utils.decode_range(sheet[\"!ref\"]) : null };\n });\n};\n\nexport const build = (worksheets, options = {}) => {\n const defaults = {\n bookType: 'xlsx',\n bookSST: false,\n type: 'binary'\n };\n const workBook = new Workbook();\n worksheets.forEach((worksheet) => {\n const sheetName = worksheet.name || 'Sheet';\n const sheetOptions = worksheet.options || {};\n const sheetData = buildSheetFromMatrix(worksheet.data || [], {...options, ...sheetOptions});\n workBook.SheetNames.push(sheetName);\n workBook.Sheets[sheetName] = sheetData;\n });\n const excelData = XLSX.write(workBook, {...defaults, ...options});\n return excelData instanceof Buffer ? excelData : bufferFrom(excelData, 'binary');\n};\n\nexport default {parse, parseMetadata, build};\n"],"file":"index.js"}
|
||||
16
extensions/Excel转JSON/node_modules/node-xlsx/lib/workbook.js
generated
vendored
Normal file
16
extensions/Excel转JSON/node_modules/node-xlsx/lib/workbook.js
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
|
||||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
||||
|
||||
var Workbook = function Workbook() {
|
||||
(0, _defineProperty2.default)(this, "SheetNames", []);
|
||||
(0, _defineProperty2.default)(this, "Sheets", {});
|
||||
};
|
||||
|
||||
exports.default = Workbook;
|
||||
//# sourceMappingURL=workbook.js.map
|
||||
1
extensions/Excel转JSON/node_modules/node-xlsx/lib/workbook.js.map
generated
vendored
Normal file
1
extensions/Excel转JSON/node_modules/node-xlsx/lib/workbook.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../src/workbook.js"],"names":["Workbook"],"mappings":";;;;;;;;;IAAqBA,Q;oDACN,E;gDAEJ,E","sourcesContent":["export default class Workbook {\n SheetNames = [];\n\n Sheets = {};\n}\n"],"file":"workbook.js"}
|
||||
Reference in New Issue
Block a user