callback - 在散景回调中使用自定义 js 创建 .xlsx
问题描述
是否有可能在散景应用程序中创建带有 customjs 回调的 .xlsx 文件以供下载选项?
尝试了以下方法,但这不起作用:
callback = CustomJS(code="""
var wb = XLSX.utils.book_new();
wb.SheetNames.push("Test Sheet");
var ws_data = [['hello' , 'world']];
var ws = XLSX.utils.aoa_to_sheet(ws_data);
wb.Sheets["Test Sheet"] = ws;
var wbout = XLSX.write(wb, {bookType:'xlsx', type: 'binary'});
function s2ab(s) {
var buf = new ArrayBuffer(s.length); //convert s to arrayBuffer
var view = new Uint8Array(buf); //create uint8array as viewer
for (var i=0; i<s.length; i++) view[i] = s.charCodeAt(i) & 0xFF; //convert to octet
return buf;
}
var filename = 'data.xlsx';
var blob = new Blob([s2ab(wbout)], { type:"application/octet-stream" });
if (navigator.msSaveBlob) {
navigator.msSaveBlob(blob, filename);
}
else {
var link = document.createElement("a");
link = document.createElement('a')
link.href = URL.createObjectURL(blob);
link.download = filename
link.target = "_blank";
link.style.visibility = 'hidden';
link.dispatchEvent(new MouseEvent('click'))
}
""")
解决方案
推荐阅读
- jquery - 更改 div 而不是 body 的背景颜色
- reactjs - 如何在 Google 图表的 X 轴上添加垂直线(线型)?
- android - 尝试在 android 中登录 QBChat 服务时崩溃
- r - 基于累积和创建变量,并根据条件重置
- lighttpd - Lighttpd git-http-backend setenv 问题
- python - 直接从 HDFS 将 xgboost 模型导入 pyspark 脚本
- java - 在“graphView”标签不从原点开始
- swift - 如何在 macOS 10.14 上重置 HIDIdleTime
- json - 构建 RESTful API 和 Web 应用程序时的最佳实践
- powershell - 如何在 Powershell 中删除文件夹?