温馨提示
本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。
当电子表格列的数据比较长的时候,我们希望列是可以根据单元格数据进行自适应。可以通过写服务器宏来实现电子表格列宽自适应
(注:由于excel不支持对合并单元格进行列宽自适应,因此此宏对合并单元格是不生效的。如果在excel中使用的字体在服务器上没有,那么此宏也可能是不生效的。)
加载前效果:
加载后效果:
具体实现步骤如下
1、首先在电子表格设计器(Microsoft Office Excel)中,创建一张电子表格报表。
2、在浏览器的资源定制节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面。
3、在报表宏界面新建服务器模块。在弹出的新建模块对话框中,选择对象为spreadsheetReport、事件为onBeforeOutput,并把下面宏代码复制到代码编辑区域。
1 2 3 4 5 6 7 8 | function main(spreadsheetReport) { var a = spreadsheetReport.workbook.worksheets.get(0).cells.maxDisplayRange.columnCount; //获取电子表格列数 spreadsheetReport.workbook.worksheets.get(0).autoFitColumns(0, a); //从0开始,到a列结束。 //spreadsheetReport.workbook.worksheets.get(0).autoFitColumn(3); //只对某列进行自适应,第一列为0 } |