找文章 / 找答案
精选问答 更多内容

[可视化] <Yonghongtech>批量设置单元格格式

mu婉清青铜二 显示全部楼层 发表于 2022-1-6 15:31:11 |阅读模式 打印 上一主题 下一主题
1
已解决
问题:普通表、交叉表、自由表,这些表格组件,当行列较多的时候,如何批量设置单元格格式

解决方案:
单元格样式包括:单元格背景色、单元格字体样式(字体、字号、加粗)、单元格字体颜色、文本对齐方式、单元格边框颜色、列宽、行高等,这些都能通过脚本来设置。
使用脚本,1首先使用Locator定位区域,2再对该区域设置以上样式

1,普通表
普通表.png
普通表是以列来区分每个区域的,我们可以通过脚本来遍历每个列,批量设置单元格样式,脚本如下
var table1_data=getData('表1')  //获取表1数据
var table1_csize=table1_data.csize()  //获取表1列数
for(var i=0;i<table1_csize;i++)  //遍历每列
{
var coltitle=table1_data.get(0,i)  //获取该列表头名称
var loc = new Locator([coltitle, CELL, DETAIL); //根据表头名称,定位该列
var table1_color= new Color(java.awt.Color.RED); //获取红色
1.setColWidth(loc,100) //设置列宽,普通表没必要用脚本设置行高,手动设置行高即可

//表1.setBackground(loc,table1_color) //给该列设置背景色
//var gf = new GFont("Arial", BOLD, 20);
//表1.setFont(loc,gf)  //设置字体格式
//表1.setForeground(loc,table1_color)   //设置字体颜色
}


2,交叉表
交叉表.png
和普通表类似,但是由于无法自动获取每列表头名称,需要手动输入表头名称,再使用Locator定位列位置(Locator详细用法请在帮助文档中搜索查找



3,自由表
自由表.png
自由表相比普通表、交叉表,更简单一些,自由表无需通过表头名称来定位区域,自由表可以直接通过
自由式表的数据区每一行  var loc=new Locator(["r-i"],ROW,DETAIL);//第一行i取0,第二行为1
自由式表的数据区每一列  var loc=new Locator(["c-i"],COL,DETAIL);//第一列i取0,第二列为1
来定位。
下边是案例脚本:
var table1_data=getData('自由式表格1')  //获取自由式表格1数据
var table1_csize=table1_data.csize()  //获取自由式表格1列数
var table1_size=table1_data.size()  //获取自由式表格1行数
for(var i=0;i<table1_csize;i++)  //遍历每列
{
var loc = new Locator(['c-'+i, COL, DETAIL); //定位列
自由式表格1.setColWidth(loc,100) //设置列宽,
}
for(var i=0;i<table1_size;i++)  //遍历每行
{
var loc = new Locator(['r-'+i, ROW, DETAIL); //定位行
自由式表格1.setRowHeight(loc,100) //设置列宽,
}







最佳答案

环环 白银三 关注Ta

2022-01-06 15:31:12

回复

使用道具 举报

精彩评论1

环环白银三 显示全部楼层 发表于 2022-1-6 15:31:12
        
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部