gpt4 book ai didi

excel - alasql 需要已包含的 xlsx

转载 作者:行者123 更新时间:2023-12-01 18:56:06 24 4
gpt4 key购买 nike

我正在尝试使用 alasqlxlsx 将数据导出到 Excel 工作表。我已遵循此处的所有准则:https://github.com/agershun/alasql/wiki/Xlsx

这是我的功能:

exportToExcel(data: any) {
console.log(XLSX.version);

alasql
.promise('SELECT * INTO XLSX("test.csv",{headers:true}) FROM ?', [data])
.then(function (data) { console.log(data); })
.catch(function (err) { console.log('Error:', err); });;
}

这在我的控制台和 XLSX 版本中给了我这个错误:

VM9931 main.bundle.js:1044 0.12.4
VM9931 main.bundle.js:1047 错误:错误:请包含 xlsx.js 库
在 B (VM9930vendor.bundle.js:6298)
在Object.A.into.XLSX(VM9930供应商.bundle.js:6303)

我遇到的问题是我已经包含了 XLSX 库并且它工作正常(记录的版本是 0.12.4)。如果我将 XLSX("test.csv")... 更改为 CSV("test.csv")... 它会完美导出为 CSV。

最佳答案

阅读alasql的源代码后,我仔细查看了得到XLSX的部分:

var getXLSX = function() {
var XLSX = alasql["private"].externalXlsxLib;

if (XLSX) {
return XLSX;
}

if (utils.isNode || utils.isBrowserify || utils.isMeteorServer) {
/*not-for-browser/*
XLSX = require('xlsx') || null;
//*/
} else {
XLSX = utils.global.XLSX || null;
}

if (null === XLSX) {
throw new Error('Please include the xlsx.js library');
}

return XLSX;

};

我不知 Prop 体原因,但行 XLSX = require('xlsx') || null 被注释,因此您需要显式设置 externalXlsxLib 才能使用 xlsx :

import * as alasql from 'alasql';
alasql["private"].externalXlsxLib = require('xlsx');

更新

正如评论中所建议的,现在有一个 setter 函数,您可以使用它来提供 xlsx。您绝对应该使用这种更干净的方法。

import * as alasql from 'alasql';
var XLSX = require('xlsx')
alasql.setXLSX(XLSX);

关于excel - alasql 需要已包含的 xlsx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49132971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com