找回密码
 立即注册

QQ登录

只需一步,快速开始

jerrychen3168

注册会员

11

主题

16

帖子

71

积分

注册会员

积分
71
jerrychen3168
注册会员   /  发表于:2024-10-28 21:53  /   查看:114  /  回复:3
1金币
你好,

當使用setStyle時,setFormatter会失效,無法顯示小数值


var styleContentNumberRight = new GC.Spread.Sheets.Style();
                        styleContentNumberRight.hAlign = GC.Spread.Sheets.HorizontalAlign.right;
                        styleContentNumberRight.vAlign = GC.Spread.Sheets.VerticalAlign.center;
                        styleContentNumberRight.fontFamily = "Book Antiqua";
                        styleContentNumberRight.formatter = "#,##0.00";



sheet.setStyle(0, -1, styleContentNumberRight, GC.Spread.Sheets.SheetArea.viewport);
                                    sheet.setFormatter(0, -1, '#,##0.00');

                                    sheet.setValue(0, 4, parseFloat(50.18));


----------------------------------
單元格会出現50,而不是50.18, 若把sheet.setStyle注釋掉,就会出現50.18
請問我如何同时使用 setStyle 和 setFormatter,而保持小数值的顯示

3 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-10-29 08:36:38
沙发
您好!Worksheet:setStyle()傳參的Style實例對象中的formatter即可對單元格設置數據的顯示格式,與Worksheet:setFormatter()功能一樣,可以只使用其中任何一種即可。

另外,我們使用您提供的代碼片段在17.1.4版本測試,未能復現您描述的現象。如下動圖所示,分別單獨使用兩種設置方式為第1行和第3行設置單元格格式,均生效。
設置格式.gif
回复 使用道具 举报
jerrychen3168
注册会员   /  发表于:2024-10-29 14:21:44
板凳
Wilson.Zhang 发表于 2024-10-29 08:36
您好!Worksheet:setStyle()傳參的Style實例對象中的formatter即可對單元格設置數據的顯示格式,與Workshee ...

你好,我試仍然不行,我有比对下差異,我的HTML及Javascript如下,請再幫忙確認
HTML
<div class="sample-tutorial">
        <div class="sample-container">
            <!-- b) 创建SpreadJS的目标DOM元素,id为ss的HTML DIV-->
            <div id="ss" class="spread-container"></div>
            <div id="statusBar"></div>
        </div>
    </div>

javascript
let spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'));
let statusBar = new GC.Spread.Sheets.StatusBar.StatusBar(document.getElementById('statusBar'));

statusBar.bind(spread);
var sheet = spread.getSheet(0);

var styleContentNumberRight = new GC.Spread.Sheets.Style();
                        styleContentNumberRight.hAlign = GC.Spread.Sheets.HorizontalAlign.right;
                        styleContentNumberRight.vAlign = GC.Spread.Sheets.VerticalAlign.center;
                        styleContentNumberRight.fontFamily = 'Book Antiqua';
                        styleContentNumberRight.formatter = '#,##0.00';

sheet.setStyle(0, 5, styleContentNumberRight, GC.Spread.Sheets.SheetArea.viewport);
sheet.setValue(0, 5, parseFloat(51.18));
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-29 16:54:50
地板
jerrychen3168 发表于 2024-10-29 14:21
你好,我試仍然不行,我有比对下差異,我的HTML及Javascript如下,請再幫忙確認
HTML

我們使用您提供的代碼片段在17.1.4版本測試,如下圖所示,仍然未能復現問題現象。同時,附上demo,以供參考。您可以排查下您的代碼中是否存在其他業務代碼影響。
符合設置格式.png939454345.png

17.1.4设置formatter.html

4.9 KB, 下载次数: 4

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部