index.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.parse = parse;
  6. exports.build = build;
  7. var _xlsx = require('xlsx');
  8. var _xlsx2 = _interopRequireDefault(_xlsx);
  9. var _helpers = require('./helpers');
  10. var _workbook = require('./workbook');
  11. var _workbook2 = _interopRequireDefault(_workbook);
  12. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  13. function parse(mixed) {
  14. var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  15. var workSheet = _xlsx2.default[(0, _helpers.isString)(mixed) ? 'readFile' : 'read'](mixed, options);
  16. return Object.keys(workSheet.Sheets).map(function (name) {
  17. var sheet = workSheet.Sheets[name];
  18. return { name: name, data: _xlsx2.default.utils.sheet_to_json(sheet, { header: 1, raw: options.raw !== false }) };
  19. });
  20. }
  21. function build(worksheets) {
  22. var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  23. var defaults = {
  24. bookType: 'xlsx',
  25. bookSST: false,
  26. type: 'binary'
  27. };
  28. var workBook = new _workbook2.default();
  29. worksheets.forEach(function (worksheet) {
  30. var name = worksheet.name || 'Sheet';
  31. var data = (0, _helpers.buildSheetFromMatrix)(worksheet.data || [], options);
  32. workBook.SheetNames.push(name);
  33. workBook.Sheets[name] = data;
  34. });
  35. var excelData = _xlsx2.default.write(workBook, Object.assign({}, defaults, options));
  36. return excelData instanceof Buffer ? excelData : Buffer.from(excelData, 'binary');
  37. }
  38. exports.default = { parse: parse, build: build };
  39. //# sourceMappingURL=index.js.map