我之前用V13是已经实现了的,为啥升级到14就不能,我本来的做法,是拿到要导出的json,然后改这个json的样式,这样子不会影响画面显示json
// 原spread(包含数据内容)
var jsonObj = this.spread.toJSON({ includeBindingSource: true });
// 下载设置(取消隐藏tab,显示滚动条,行列头等。)
jsonObj.tabStripVisible = true;
jsonObj.showVerticalScrollbar = true;
jsonObj.showHorizontalScrollbar = true;
jsonObj.newTabVisible = true;
let sheet,sheetObj;
for (var i = 0; i < this.spread.sheets.length; i++) {
sheet = this.spread.sheets;
sheetObj = jsonObj.sheets[sheet.name()];
sheetObj.colHeaderVisible = true;
sheetObj.rowHeaderVisible = true;
// sheetObj.gridline.showHorizontalGridline = true;
// sheetObj.gridline.showVerticalGridline = true;
sheetObj.zoomFactor = 1;
}
// JSON
var json = JSON.stringify(jsonObj);
// 导出excel(使用隐藏spread)
import('@grapecity/spread-excelio')
.then(ExcelIO => {
var excelIo = new ExcelIO.IO();
excelIo.save(json, function (blob) {
saveAs(blob, fileName);
}, function (e) {
if (e.errorCode === 1) {
alert(e.errorMessage);
}
});
}); |