本帖最后由 Lin丶 于 2024-7-15 11:27 编辑
使用SpreadJs17.0.9的时候,直接将模板保存xlsx文件保存,然后导入的时候加载xlsx文件,是不是字段绑定工作表绑定是不是加载不了。
1.保存模板为xlsx文件
// 保存模板
const saveTemp = async () => {
let designer = toRaw(designerRef.value);
let spread = designer.getWorkbook(); // getWorkbook() 获取工作簿的值
//let fileName = `${props.id}.${saveFileType}`;
let fileName = `测试.xlsx`;
var json = spread.toJSON({ includeBindingSource: true });
console.log(" ~ saveTemp ~ json:", json)
var excelIo = new ExcelIO.IO();
excelIo.save(
json,
function (blob: any) {
saveAs(blob, fileName);
},
function (e: any) {
ElMessage.error('保存模板失败!' + e);
}
);
2.然后再次加载模板
var excelIo = new ExcelIO.IO();
var jsonOptions = {
doNotRecalculateAfterLoad: true,
incrementalLoading: true,
};
excelIo.open(
excelFile,
function (json: any) {
// spread.suspendCalcService(false)
// console.log(JSON.stringify(spread.toJSON()))
// console.log(spread.getSheet(0).toJSON());
console.time('test:');
var workbookObj = json;
console.log("🚀 ~ loadTemp2 ~ workbookObj:", workbookObj)
spread.fromJSON(workbookObj, jsonOptions);
// spread.fromJSON(workbookObj);
// spread.options.calcOnDemand = true;
console.timeEnd('test:');
// spread.resumeCalcService(true)
},
function (e: any) {
ElMessage.error('加载模板失败!' + e);
},
{}
);
数据源和字段绑定会缺失
是不能将模板保存为xlsx类型,是要保存为json类型吗
|
|