- function exportExcel(spread, fileName) {
- if (fileName.substr(-5, 5) !== '.xlsx') {
- fileName += '.xlsx';
- }
- let obj = cloneDeep(spread.toJSON({
- includeBindingSource: true,
- columnHeadersAsFrozenRows: true
- // ignoreFormula:false,
- // ignoreStyle:false,
- // rowHeadersAsFrozenColumns:false
- })),
- { sheets } = obj
- Object.keys(sheets).forEach(x => {
- sheets[x].isProtected = false
- })
- console.log(obj, spread.toJSON(), spread)
- let spreadJSON = JSON.stringify(obj)
- spreadJSON.export(function (blob) {
- saveAs(blob, fileName);
- }, function (e) {
- console.error('导出失败:', e);
- }, {
- fileType: GC.Spread.Sheets.FileType.excel,
- //includeBindingSource: true
- });
- }
复制代码 我需要在导出前对导出文件做一些额外的处理,但是又不能影响系统页面的spread,所以单独拷贝了一份obj,那怎么让obj对象转回spread那样的格式然后执行export呢?
|