...
某些情况下想实现导出后的文档不需要显示隐藏的列,需要删除。
实现方案:
需要写服务端宏代码实现,实现代码如下:
针对分组报表,输出类型是“EXCEL2007”,代码如下:
代码块 | ||
---|---|---|
| ||
function main(spreadsheetReport) { if (spreadsheetReport.outputType != "EXCEL2007") return; spreadsheetReport.cacheable = false; var workbook = spreadsheetReport.workbook; var worksheet = workbook.worksheets.get(0); worksheet.getCells().deleteColumn(0); } |
...
代码块 |
---|
function main(spreadsheetReport) { if (spreadsheetReport.outputType != "EXCEL2007") return; spreadsheetReport.cacheable = false; var workbook = spreadsheetReport.workbook; var worksheets = workbook.worksheets; for (var i = 0; i < worksheets.count; i++) { var worksheet = worksheets.get(i); var cells = worksheet.cells; var maxDisplayRange = cells.maxDisplayRange; for (var x = 0; x < maxDisplayRange.rowCount; x++) { for (var y = 0; y < maxDisplayRange.columnCount; y++) { var cell = cells.get(x, y); if (cell.isFormula()) { cell.value = cell.value; } } } } worksheet.getCells().deleteColumn(3); } |
注:针对清单报表,输出类型是“LIST_EXCEL”,可直接将上面的代码中的“EXCEL2007”修改为“LIST_EXCEL”即可执行,如图: