Java Jxl Excel 操作总结5(项目实例二)
2017-05-11 17:47
615 查看
第二步:创建工作薄和创建工作表和定义fillsheet的方法
public static <T> void listToExcel(List<T> list,LinkedHashMap<String, String> fieldMap, String sheetName,int sheetSize, OutputStream out) throws Exception {
if (list.size() == 0 || list == null) {
throw new Exception("数据源中没有任何数据");
}
// 创建工作簿并发送到OutputStream指定的地方
WritableWorkbook wwb;
try {
wwb = Workbook.createWorkbook(out);
// 因为2003的Excel一个工作表最多可以有65536条记录,除去列头剩下65535条
// 所以如果记录太多,需要放到多个工作表中,其实就是个分页的过程
// 1.计算一共有多少个工作表
double sheetNum = Math.ceil(list.size()/ new Integer(sheetSize).doubleValue());
// 2.创建相应的工作表,并向其中填充数据
for (int i = 0; i < sheetNum; i++) {
if (1 == sheetNum)// 如果只有一个工作表的情况
{
WritableSheet sheet = wwb.createSheet(sheetName, i);
fillSheet(sheet, list, fieldMap, 0, list.size() - 1);
}
else// 有多个工作表的情况
{
WritableSheet sheet = wwb.createSheet(sheetName + (i + 1),i);
// 获取开始索引和结束索引
int firstIndex = i * sheetSize;
int lastIndex = (i + 1) * sheetSize - 1 > list.size() - 1 ? list.size() - 1 : (i + 1) * sheetSize - 1;
// 填充工作表
fillSheet(sheet, list, fieldMap, firstIndex, lastIndex);
}
}
wwb.write();
wwb.close();
} catch (Exception e) {
e.printStackTrace();
if (e instanceof ExcelException) {
throw (ExcelException) e;// 如果是ExcelException,则直接抛出
} else {
throw new ExcelException("導出Excel失敗");// 否则将其它异常包装成ExcelException再抛出
}
}
}
public static <T> void listToExcel(List<T> list,LinkedHashMap<String, String> fieldMap, String sheetName,int sheetSize, OutputStream out) throws Exception {
if (list.size() == 0 || list == null) {
throw new Exception("数据源中没有任何数据");
}
// 创建工作簿并发送到OutputStream指定的地方
WritableWorkbook wwb;
try {
wwb = Workbook.createWorkbook(out);
// 因为2003的Excel一个工作表最多可以有65536条记录,除去列头剩下65535条
// 所以如果记录太多,需要放到多个工作表中,其实就是个分页的过程
// 1.计算一共有多少个工作表
double sheetNum = Math.ceil(list.size()/ new Integer(sheetSize).doubleValue());
// 2.创建相应的工作表,并向其中填充数据
for (int i = 0; i < sheetNum; i++) {
if (1 == sheetNum)// 如果只有一个工作表的情况
{
WritableSheet sheet = wwb.createSheet(sheetName, i);
fillSheet(sheet, list, fieldMap, 0, list.size() - 1);
}
else// 有多个工作表的情况
{
WritableSheet sheet = wwb.createSheet(sheetName + (i + 1),i);
// 获取开始索引和结束索引
int firstIndex = i * sheetSize;
int lastIndex = (i + 1) * sheetSize - 1 > list.size() - 1 ? list.size() - 1 : (i + 1) * sheetSize - 1;
// 填充工作表
fillSheet(sheet, list, fieldMap, firstIndex, lastIndex);
}
}
wwb.write();
wwb.close();
} catch (Exception e) {
e.printStackTrace();
if (e instanceof ExcelException) {
throw (ExcelException) e;// 如果是ExcelException,则直接抛出
} else {
throw new ExcelException("導出Excel失敗");// 否则将其它异常包装成ExcelException再抛出
}
}
}
相关文章推荐
- Java Jxl Excel 操作总结4(项目实例 一)
- Java Jxl Excel 操作总结3(常用格式+自动调整列宽)
- java 中JXL操作Excel实例详解
- java使用jxl,jExcelAPI操作excel代码总结
- Java Jxl Excel 操作总结2(基本操作:创建工作薄,工作表,单元格等)
- jxl的使用总结(java操作excel)
- jxl的使用总结(java操作excel)
- jxl的使用总结(java操作excel)
- jxl的使用总结(java操作excel)
- jxl的使用总结(java操作excel)
- Java使用poi操作excel实例解析
- java对excel表的操作,jxl的基本操作
- java实现cassandra高级操作之分页实例(有项目具体需求)
- JXL介绍 Java操作Excel--读取Excel(简单步骤,适合初学者)
- java操作excel-jxl
- java导入导出excel操作(jxl)
- java操作excel的工具jxl
- java 操作 excel文件 jxl 与 poi 比较
- java操作excel——jxl和poi比较
- Java操作Excel之JXL (填充EXCEL模板)转载