页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 3 当前 »

(本文档仅供参考)

问题描述

修改某字段数据格式,在数据集中预览数据,数据格式切换生效;将同样的字段在电子表格中展示,数据格式不生效,展示的是原始数据。

解决方案

电子表格内,选中应用了数据格式的字段对应的单元格,双击或者点击Smartbi工具栏上的【属性】按钮;选择【其他】→勾选上使用显示值,数据格式即可生效。

如果需要额外对数据进行汇总求和,则要提前在数据集中进行汇总。

若只是希望设置保留小数位,如保留两位小数,则可以在电子表格对单元格右键设置单元格格式

注:上述设置后,会出现数据无法完全居右的情况,产生原因:这个是第三方插件为了迎合excel本身的效果做的,对一个数字来说,如果设置了单元格格式为数值类型和没有设置为数值类型的,在excel中可以看到右侧距离右边框是有差异的,而第三方插件为了体现这种差异在生成web时故意加了一个空格作为显示值。

如需要彻底居右,可参考以下宏代码对空格进行处理。

//类型:ServerSide  对象:spreadsheetReport  事件:onBeforeOutput
function main(spreadsheetReport) {
    var type = spreadsheetReport.outputType;
    if (type == "refresh") {
        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.getValue() != null && cell.getStringValue().contains(" ")) {
                        cell.value = cell.getStringValue().trim();
                    }
                }
            }
        }
    }

}

最终效果:



  • 无标签