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);
}
}
}
}
结果: