import * as XLSX from 'xlsx/xlsx.mjs'
function fn({ data, name, columns, titleMap }) {
if (!Array.isArray(data) || data.length <= 0) {
return new Error("data应该是非空数组")
}
const headerKeys = Array.isArray(columns) && columns.length > 0 ? columns : Object.keys(data[0])
const ws = XLSX.utils.json_to_sheet(data, { header: headerKeys })
headerKeys.forEach((key, colIdx) => {
const cellAddress = XLSX.utils.encode_cell({ r: 0, c: colIdx })
ws[cellAddress].v = titleMap[key] || key
})
const wb = XLSX.utils.book_new()
XLSX.utils.book_append_sheet(wb, ws, "Sheet1")
XLSX.writeFile(wb, `${name}.xlsx`)
}
export default fn