UNPKG

wsemi

Version:

A support package for web developer.

95 lines (86 loc) 2.27 kB
import isobj from './isobj.mjs' import isestr from './isestr.mjs' import createExcelWorkbook from './createExcelWorkbook.mjs' /** * 由Excel的Worksheet物件轉為Excel的Workbook物件 * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/getExcelWorkbookFromWorksheet.test.mjs Github} * @memberOf wsemi * @param {Object} sheet 輸入Excel的Worksheet物件 * @param {String} [sheetName='data'] 輸入輸出為Excel時所在分頁(sheet)名稱字串,預設為'data' * @returns {Object} 回傳Excel的Workbook物件 * @example * * let data = [ * ['a', '123', 456], * [null, 'abc123', '', 111.222333], * ] * * let ws = xlsx.utils.aoa_to_sheet(data) * console.log(ws) * // => { * // A1: { v: 'a', t: 's' }, * // B1: { v: '123', t: 's' }, * // C1: { v: 456, t: 'n' }, * // B2: { v: 'abc123', t: 's' }, * // C2: { v: '', t: 's' }, * // D2: { v: 111.222333, t: 'n' }, * // '!ref': 'A1:D2' * // } * * let wb = getExcelWorkbookFromWorksheet(ws) * console.log(JSON.stringify(wb, null, 2)) * // => { * // "SheetNames": [ * // "data" * // ], * // "Sheets": { * // "data": { * // "A1": { * // "v": "a", * // "t": "s" * // }, * // "B1": { * // "v": "123", * // "t": "s" * // }, * // "C1": { * // "v": 456, * // "t": "n" * // }, * // "B2": { * // "v": "abc123", * // "t": "s" * // }, * // "C2": { * // "v": "", * // "t": "s" * // }, * // "D2": { * // "v": 111.222333, * // "t": "n" * // }, * // "!ref": "A1:D2" * // } * // } * // } * */ function getExcelWorkbookFromWorksheet(sheet, sheetName = 'data') { //check if (!isobj(sheet)) { return { error: 'sheet is not an object', } } if (!isestr(sheetName)) { sheetName = 'data' } //createExcelWorkbook let wb = createExcelWorkbook() //push wb.SheetNames.push(sheetName) wb.Sheets[sheetName] = sheet return wb } export default getExcelWorkbookFromWorksheet