当电子表格列的数据比较长的时候,我们希望列是可以根据单元格数据进行自适应。可以通过写服务器宏来实现电子表格列宽自适应
由于excel不支持对合并单元格进行列宽自适应,因此此宏对合并单元格是不生效的。如果在excel中使用的字体在服务器上没有,那么此宏也可能是不生效的。如果浏览器自身(主要是chrome)设置了最小字体,那么此宏也可能是不生效的,需要修改浏览器的最小字体。
加载前效果:
加载后效果:
具体实现步骤如下
1、首先在电子表格设计器(Microsoft Office Excel)中,创建一张电子表格报表。
2、在浏览器的资源定制节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面。
3、在报表宏界面新建服务器模块。在弹出的新建模块对话框中,选择对象为spreadsheetReport、事件为onBeforeOutput,并把下面宏代码复制到代码编辑区域。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function main(spreadsheetReport) { var sheet = spreadsheetReport.workbook.worksheets.get(0); if (sheet === "" || sheet === null) { return; } var counts = sheet.cells.maxDisplayRange.columnCount; //获取电子表格列数 sheet.autoFitColumns(0, counts); //从0开始,到counts列结束。 //sheet.autoFitColumn(3); //只对某列进行自适应,第一列为0
} |
示例资源:电子表格列宽自适应.xml