示例说明
有时候我们希望导出的excel报表,打开后,点击使用公式的单元格显示的是值,而不是显示公式。如下图:
原本打开的效果是:
版本及客户端说明
1.smartbi版本:V9
2.客户端:PC
3.导出excel格式
设置方法
1、首先在电子表格设计器(Microsoft Office Excel)中,创建电子表格报表。
2、在浏览器的资源定制节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面。
3、在报表宏界面新建服务端模块。在弹出的新建模块对话框中,选择对象为spreadsheetReport、事件为onBeforeOutput、并把下面宏代码复制到代码编辑区域。
宏类型
类型 | 对象 | 事件 |
---|---|---|
服务端宏 | spreadsheetReport | onBeforeOutput |
function main(spreadsheetReport) { var type = spreadsheetReport.outputType; //导出类型 if (type == "EXCEL2007" || type == "LIST_EXCEL") { spreadsheetReport.cacheable = false; var workbook = spreadsheetReport.workbook; //获取电子表格工作簿 var worksheets = workbook.worksheets; for (var i = 0; i < worksheets.count; i++) { var worksheet = worksheets.get(i); //sheet1 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; } } } } } }