Java Excel导出多个工作表(添加多个sheet)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java Excel导出多个工作表(添加多个sheet),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1684字,纯文字阅读大概需要3分钟。
内容图文
![Java Excel导出多个工作表(添加多个sheet)](/upload/InfoBanner/zyjiaocheng/1156/04c1076b07fa46d6b56aa06207900286.jpg)
当数据量比较大的时候,如果超过了65536条的时候,导出的时候就会如下的错误:
jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been exceeded
(解释:jxl.write.biff.RowsExceededException:允许在工作表的最大行数已经超过)
所以,我的解决方案是导出多个工作表格。
public static void outputExcelData() throws IOException, WriteException {
/**给List存值*/
List result = new ArrayList();
User user = new User();
user.setId("1");
user.setName("yfli");
result.add(user);
User user2 = new User();
user2.setId("1");
user2.setName("zhangjie");
result.add(user2);
User user3 = new User();
user3.setId("1");
user3.setName("lzhang");
result.add(user3);
String fileName = "F:\\sfData.xls";
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
WritableWorkbook wwb = Workbook.createWorkbook(new File(fileName));
File dbfFile = new File(fileName);
if (!dbfFile.exists() || dbfFile.isDirectory()) {
dbfFile.createNewFile();
}
int totle = result.size();//获取List集合的size
int mus = 2;//每个工作表格最多存储2条数据(注:excel表格一个工作表可以存储65536条)
int avg = totle / mus;
for (int i = 0; i < avg + 1; i++) {
WritableSheet ws = wwb.createSheet("列表" + (i + 1), i); //创建一个可写入的工作表
//添加表头
ws.addCell(new Label(0, 0, "序号"));
ws.addCell(new Label(1, 0, "姓名"));
int num = i * mus;
int index = 0;
for (int m = num; m < result.size(); m++) {
if (index == mus) {//判断index == mus的时候跳出当前for循环
break;
}
User use = (User) result.get(m);
//将生成的单元格添加到工作表中
//(这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行)
ws.addCell(new Label(0, index + 1, use.getId()));
ws.addCell(new Label(1, index + 1, use.getName()));
index++;
}
}
wwb.write();//从内存中写入文件中
wwb.close();//关闭资源,释放内存
}
原文:http://blog.csdn.net/leeyefang/article/details/22793263
内容总结
以上是互联网集市为您收集整理的Java Excel导出多个工作表(添加多个sheet)全部内容,希望文章能够帮你解决Java Excel导出多个工作表(添加多个sheet)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。