waw*_*los 1 javascript excel xlsx requirejs js-xlsx
我正在使用js-xlsx库在JavaScript中创建Excel文件.
这个库使用jszip.我尝试jszip在加载之前在我的JavaScript文件中定义库,jszip但从jszip未定义过:
Uncaught TypeError: jszip is not a function
Run Code Online (Sandbox Code Playgroud)
配置requirejs:
<script type="text/javascript">
requirejs.config({
paths : {
jszip : '../tools/jszip'
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
以下是我在JS文件中使用它的方法:
define(['jszip', '../tools/xlsx'], function(jszip, xlsx) {
...
}
Run Code Online (Sandbox Code Playgroud)
Fed*_*ron 10
在加载XLSX之前,必须加载JSZip(以及支持ods扩展的ODS)并将其附加到窗口.我正在使用带有自定义"xlsx-loader"的垫片工作:
main.js
requirejs.config({
paths: {
ods: '...path to ods',
jszip: '...path to jszip',
xlsxloader: '...path to xlsx-loader',
xlsx: '...path to xlsx'
},
shim: {
xlsx: {
exports: 'XLSX',
deps: ['xlsxloader']
}
}
});
Run Code Online (Sandbox Code Playgroud)
XLSX,loader.js
define(['jszip', 'ods'], function (jszip, ods) {
"use strict";
window.JSZip = jszip;
window.ODS = ods;
});
Run Code Online (Sandbox Code Playgroud)
你的JS文件
define(['xlsx'], function () {
// Do what you want with XLSX
...
Run Code Online (Sandbox Code Playgroud)
选项2)您也可以实现此链接要求,它不需要任何填充程序但不适用于优化程序
require(['jszip', 'ods'], function (jszip, ods) {
window.JSZip = jszip;
window.ODS = ods;
require(['xlsx'], function () {
// Do what you want with XLSX
...
});
});
Run Code Online (Sandbox Code Playgroud)