【Cell报表】与JS的千丝万缕

    最近,所做的模块正在进行最后的完善。客户在试用了之后提了一些建议,包括对报表模板格式的修改。这也算是对Cell报表的进一步了解吧,虽说华表cell已木有后期维护人员了,但了解一下如何使用也算是一种经验了。

背景介绍:

    先来看一段SQL执行的结果。

        

    说明:在SQL中就将需要按字段求和的小计列已汇总(PS:需要汇总的数据行数不确定,所以在模板中插入公式计算和在这里不适用),这样在前台的话就直接需要绑字段别名就OK了.

    这样,问题就出来了.所有的小计都是需要整行加粗显示的,因为SQL只提供数据,不提供对数据样式的修改. 所以,JS就是修改报表数据样式的不二选择了.

    接下来,小编就通过实践来说明,JS和Cell之间的千丝万缕。

1.  设置小计行整行加粗显示

代码:  

<span style="font-size:14px;">function SetSpecialCells() {
    var n = Cell1.GetCurSheet()

    var unitname = "";
    var chongfushu = 1;

//    为表体部分设置边框
    for (var i = 14; i < Cell1.GetRows(n) - 5; i++) {
 
                        var sunitname = Cell1.GetCellString(2, i, n);
                        if (sunitname.indexOf('各炼厂供货数量')!=-1) {
                            //设置单元格字体风格为 粗体
                            Cell1.SetCellFontStyle(2, i - chongfushu+1 , 0, 2);
                            Cell1.SetCellFontStyle(3, i - chongfushu + 1, 0, 2);
                            Cell1.SetCellFontStyle(4, i - chongfushu + 1, 0, 2);
                            Cell1.SetCellFontStyle(5, i - chongfushu + 1, 0, 2);
                            Cell1.SetCellFontStyle(6, i - chongfushu + 1, 0, 2);
                            Cell1.SetCellFontStyle(7, i - chongfushu + 1, 0, 2);
                            Cell1.SetCellFontStyle(8, i - chongfushu + 1, 0, 2);
                            Cell1.SetCellFontStyle(9, i - chongfushu + 1, 0, 2);

                              chongfushu = 1;
                        }
            }
}</span>

2.  设置不确定行某列的合并显示

<span style="font-size:18px;">//合并单元格
function MergeCells(irow) {
Cell1.MergeCells(1, 9, 1, Cell1.GetRows(n) - 5);

}</span>
    如下图中左侧一列效果,右侧数据行都是不确定的,所以在合并时,不能直接在模板中设置合并。在JS中利用合并方法轻松实现不确定的行合并.

          

3.  设置某行计算公式

说明:

    对于固定几行几列之间的求和,可直接在模板设置公式,就可解决其问题.  但在行数列数不确定的情况下,我们可以在JS中去设置.

代码:

<span style="font-size:14px;">//设置每一行的公式
function SetFormula(irow) {

    Cell1.SetFormula(9, irow, Cell1.GetCurSheet(), "Sum(D" + irow + ":H" + irow + ")");
    Cell1.SetFormula(15, irow, Cell1.GetCurSheet(), "Sum(J" + irow + ":N" + irow + ")");
    Cell1.SetFormula(21, irow, Cell1.GetCurSheet(), "Sum(P" + irow + ":T" + irow + ")");

}</span>

方法简介:

这里将所用到的几个方法函数简单介绍一下,其实最好的资料就是帮助文档,感兴趣的可以看看.

                      

 

  

总结:

   这篇博文主要总结了,在改bug期间用到的几种简单实用的方法,让设计出来的报表更加直观.

   PS:近几天都在忙着改bug,所以这篇文章就先出来了,关于Cell和VS程序之间的交互,下篇博客,敬请期待!



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值