jxl中报表单元格合并问题

WritableWorkbook wwb = Workbook.createWorkbook(endFileName);
WritableSheet ws = wwb.createSheet("Sheet1", 0);

ws.mergeCells(0, 0, 0, 1);//合并单元格,第一个参数:要合并的单元格最左上角的列号,第二个参数:要合并的单元格最左上角的行号,第三个参数:要合并的单元格最右角的列号,第四个参数:要合并的单元格最右下角的行号,

public void generateHeader() throws RowsExceededException, WriteException, IOException {
        List<String> hader = new ArrayList<String>();
//         代理商賬號  姓名    ***之實際盈虧    客戶之實際盈虧
//         總盈虧     佣金     返點     利息        盈虧     總交易     總盈虧     佣金     返點     利息        盈虧
        Label label2 = new Label(2, 8,"代理商賬號", CELL_FORMAT_DEFAULT);
        Label label3 = new Label(3, 8,"姓名", CELL_FORMAT_DEFAULT);
        Label label4 = new Label(4, 8,"***占成後之實際盈虧", CELL_FORMAT_DEFAULT);//用于后边合并时站5列
        Label label5 = new Label(9, 8,"客戶之實際盈虧", CELL_FORMAT_DEFAULT);//因为label占5列,所以列由9开始
        sheet.addCell(label2);
        sheet.addCell(label3);
        sheet.addCell(label4);
        sheet.addCell(label5);
        nextRow();//创建1行6列。
        List<String> hader1 = new ArrayList<String>();
        hader1.add("總盈虧 ");
        hader1.add("佣金");
        hader1.add("返點");
        hader1.add("利息");
        hader1.add("盈虧");
        
        hader1.add("總交易");
        hader1.add("總盈虧");
        hader1.add("佣金");
        hader1.add("返點");
        hader1.add("利息");
        hader1.add("盈虧");
        writeHeader(hader1, 9, 4);//从(9,4)创建1行11列。
        sheet.mergeCells(2, 8, 0, 9); //(8,0)单元格向下合并 1 行。
        sheet.mergeCells(3, 8, 0, 9); //(8,1)单元格向下合并 1 行。
        sheet.mergeCells(4, 8, 8, 0); //(8,2)单元格向右合并 5 列。
        sheet.mergeCells(9, 8, 14, 0); //(8,3)单元格向右合并 6 列。
    }

时间: 2024-07-29 14:32:36

jxl中报表单元格合并问题的相关文章

FastReport单元格合并

FastReport 自带的单元格合并功能为“抑制重复值”,功能真的很弱,还不如不用.网上也有不少解决方案,不过用来用去,都不尽人意. 下面是网上的两个方案: 1.报表脚本中写代码解决:单元格合并 2.修改相关源代码解决:单元格合并 最初我是两种方案结合使用,第1种方案的缺点是很明显的,有时需要写很多的代码,一不小心容易出错:第2种方案也存在问题,似乎只处理第一页的的情况,当有多页时,就乱套了. 由于本人多个软件都是使用fastreport报表控件,随着时间推移,报表越来越多,设计报表也带来了很

利用VBS合并Excel中相同单元格

假如有一份这样的表格 你需要把不同行上相同的单元格进行合并,实现下面的效果 可以通过以下步骤用VBS来实现 1. 首先对表格进行排序,排序的这一列也是单元格合并时所参照的列,通常是学号或者ID列等 2. 然后在当前Excel表格中按Alt + F11,调出VBS编辑器,贴入以下代码 Sub mergerow()    'Declare variables    Dim lRow As Double      'Last row    Dim sRow As Double      'Curren

如何把Excel中的单元格等对象保存成图片

对于Excel中的很多对象,比如单元格(Cell),图形(shape),图表(chart)等等,有时需要将它们保存成一张图片.就像截图一样. 最近做一个Excel相关的项目,项目中遇到一个很变态的需求, 需要对Excel中的一些对象进行拍图,比如,对一个单元格设置一些颜色之后拍图,或者对一个图表,报表拍成图片.经过比较曲折的经历,终于还是完成了.拿出来分享一下. 要做Excel,首先当然是查看Excel的com对象模型.地址在这里: http://msdn.microsoft.com/en-us

devexpress实现单元格合并以及依据条件合并单元格

1.devexpress实现单元格合并非常的简单,只要设置属性[AllowCellMerge=True]就可以了,实现效果如下图: 2.但是在具体要求中并非需要所有的相同单元格都合并,可能需要其他的条件来控制合并.这个时候我们就需要在事件gridView1_CellMerge中来控制了.下图为根据最后一列判断是否合并单元格的效果图(其中第四列设置为不合并<非必需>,这里只是为了达到一个比较效果.). 3.重要代码: int row1 = e.RowHandle1; int row2 = e.R

JTable 单元格合并 【转】

单元格合并 一.单元格合并.(1)我们可以使用Jtable的三个方法:getCellRect(),columnAtPoint(),and rowAtPoint().第一个方法返回一个单元格的边界(Rectangle类),第二.三个方法分别返回屏幕指定位置的列和行.为了实现单元格合并,我们需要重载(overwrite)这三个方法. (2)另外我们需要找出渲染Jtable的ComponentUI对象,并且修改它以达到我们的目的. (3)创建新的类记录单元格合并情况的数据模型,它要包涵一个方法来取得单

NPOI 生成Excel (单元格合并、设置单元格样式:字段,颜色、设置单元格为下拉框并限制输入值、设置单元格只能输入数字等)

NPIO源码地址:https://github.com/tonyqus/npoi NPIO使用参考:源码中的 NPOITest项目 下面代码包括: 1.包含多个Sheet的Excel 2.单元格合并 3.设置单元格样式:字段,颜色 4.设置单元格为下拉框并限制输入值 5.设置单元格只能输入数字 // // GET: /Excel/ public ActionResult Write() { var workbook = new HSSFWorkbook();//从流内容创建Workbook对象

SNF快速开发平台MVC-表格单元格合并组件

1.   表格单元格合并组件 1.1.      效果展示 1.1.1.    页面展现表格合并单元格 图 4.1 1.1.2.    导出excel合并单元格 图 4.2 1.2.      调用说明 1.2.1.    表格合并单元格调用说明 首先,要有一个在viewModel中绑定的表格,例如,我们有一个绑定对象为this.grid的表格 我们要在表格的onLoadSuccess事件中添加一个方法 snf.mergeCellsByParentField ("grid", &quo

自定义控件:DataGridView 单元格合并和二维表头

DataGridView单元格合并和二维表头应用: //DataGridView绑定数据 DataTable dt = new DataTable(); dt.Columns.Add("1"); dt.Columns.Add("2"); dt.Columns.Add("3"); dt.Columns.Add("4"); dt.Rows.Add("中国", "上海", "5000

修改TreeList单元格格式(实现类似单元格合并效果)

关键点:(1)TreeList中显示的单元格默认不显示上.下.左.右边框,显示的是TreeList自身的行横边框.列纵边框,具体对应TreeList属性中OptionView项下的ShowVertLines.ShowHorzLines两项,将其对应默认值由默认False改为True即可去除行横边框.列纵边框,然后设置怎样的单元格格式显示什么样的单元格格式: (2)在*_CustomDrawNodeCell中修改函数,而不是*_NodeCellStyle中修改,另外需要注意,前者在后者前运行,因此