package com.zzsb.core.utils;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
将List<Map>格式的数据集转换为execl
@param title execl
sheet的名字
@param file
生成execl后存放的路径
@param
list
public class ExeclUtil {
public static void list2Execl(String title, File
file, List<Map> list) {
try {
WritableWorkbook
book = Workbook.createWorkbook(file);
WritableSheet
sheet = book.createSheet(title, 0);
if (list ==
null || list.size() == 0) {
throw
new RuntimeException("传入的list为null或空");
}
Map keyMap =
list.get(0);
Iterator
iterator = keyMap.keySet().iterator();
String[] keys
= new String[keyMap.keySet().size()];
int
i=0;
while
(iterator.hasNext()) {
String
key = ConvertUtil.obj2Str(iterator.next());
Label
cell = new Label(i,0,key);
sheet.addCell(cell);
keys[i]
= key;
i++;
}
int rowIndex
= 1;
int
columnIndex = 0;
for (Map map
: list) {
for
(String key : keys) {
Label
cell = new
Label(columnIndex,rowIndex,ConvertUtil.obj2Str(map.get(key)));
sheet.addCell(cell);
columnIndex
++ ;
}
columnIndex
= 0;
rowIndex
++ ;
}
book.write();
book.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}