Java使用 jxl 对Excel表进行分页(预览效果不变)

Java使用 jxl 对Excel表进行分页(预览效果不变)

 

public classtest {
    public static void main(String[] args) {
 
        /**
         * 说明:这里的表格有两个标题(前两行)需要一直存在,具体情况需要调整代码
         *
         * 思路:一般的分割都是提取数据后再新建Excel,不能保持样式不变,我使用删除的想法实现分割(可能有更好的方法我没找到)
         */
       
        //每页的行数(不包含2个标题)
        int linePage = 8;
        int pageCount = 1;
        boolean flag = true;
        //源文件
        Filefile = newFile("D:/test.xls");
        while (flag) {
            try {
                // 创建只读的Excel
                WorkbookreadOnly = Workbook.getWorkbook(file);
                // 创建可写入的Excel
                WritableWorkbookbook = Workbook.createWorkbook(new File(
                        "D:/mytest"+ pageCount + ".xls"),readOnly);
                // 获取工作薄第一页
                WritableSheetsheet = book.getSheet(0);
                // 获取Excel总行数
                int row = sheet.getRows();
                System.out.println(row);
 
                if ((linePage * pageCount+ 2) < row) {
                    //优先删除后边的,前边的行数就不会相应的发生变化
                    for (int j = (linePage *pageCount + 2); j <= row; j++) {
                        sheet.removeRow((linePage* pageCount + 2));
                    }
                    for (int i = 2; i < (linePage* (pageCount - 1) + 2); i++) {
                        sheet.removeRow(2);
                    }
 
                }else{
                    for (int i = 2; i < (linePage* (pageCount - 1) + 2); i++) {
                        sheet.removeRow(2);
                    }
                    flag= false;
                }
                pageCount++;
 
                // 写入Excel对象
                book.write();
                // 关闭可写入的Excel对象
                book.close();
                // 关闭只读的Excel对象
                readOnly.close();
 
            }catch(Exception e) {
                System.out.println(e);
            }
        }
    }
}


 结果:


 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值