我使用SheetJS将数据导出到excel,看起来像excel本身修复数据。数据下载很好,但是收到这个警告可以吗?我有来自 UI 的 file.xlsx,当我通过 excel 打开它时,我收到一些警告是由 Excel 本身产生的。
代码:
const download = (url, name) => {
let a = document.createElement('a')
a.href = url
a.download = name
a.click()
window.URL.revokeObjectURL(url)
}
function Workbook() {
if (!(this instanceof Workbook))
return new Workbook()
this.SheetNames = []
this.Sheets = {}
}
function s2ab(s) {
const buf = new ArrayBuffer(s.length)
const view = new Uint8Array(buf)
for (let i=0; i !== s.length; ++i)
view[i] = s.charCodeAt(i) & 0xFF
return view
}
export default data => {
import('xlsx').then(XLSX => {
const wb = new Workbook()
const ws = XLSX.utils.json_to_sheet(data)
wb.SheetNames.push('s')
wb.Sheets[''] = ws
const wbout = XLSX.write(wb, {bookType:'xlsx', bookSST:true, type: 'binary'})
let url = window.URL.createObjectURL(new Blob([s2ab(wbout)], {type:'application/octet-stream'}))
download(url, 'import.xlsx')
})
}