jar: jxl.jar
public void generateExcel() throws Exception {
List<ListOrderedMap> result = new ArrayList<ListOrderedMap>();
ListOrderedMap head = new ListOrderedMap();
head.put(0, "Country", "国家");
head.put(1, "Postal", "邮编");
result.add(head);
ListOrderedMap rd = new ListOrderedMap();
rd.put(0, "Country", "中国");
rd.put(1, "Postal", "123456");
result.add(rd);
rd = new ListOrderedMap();
rd.put(0, "Country", "美国");
rd.put(1, "Postal", "213213");
result.add(rd);
System.out.println(result.get(0));
System.out.println(result.get(1));
System.out.println(result.get(2));
//新建Excel文件
WritableWorkbook book = Workbook.createWorkbook(new File("d:/test.xls"));
//新建Excel的sheet
WritableSheet sheet = book.createSheet("第一页", 0);
//设置A\B列的列宽
sheet.setColumnView(0, 10);
sheet.setColumnView(1, 20);
//指定单元格的格式
WritableCellFormat format1 = new WritableCellFormat();
// 把水平对齐方式指定为居中
format1.setAlignment(jxl.format.Alignment.CENTRE);
// 把垂直对齐方式指定为居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
// format1.setWrap(false);//长度不够显示的时候 是否自动换行
// format1.setShrinkToFit(false);//自动转换显示字体大小,使内容能够显示
// format1.setOrientation(Orientation.PLUS_45);//内容的显示是否倾斜
Label label;
//往sheet里加单元格内容
for(int i=0;i<result.size();++i){
ListOrderedMap rd1 = result.get(i);
for(int j=0;j<rd1.size();++j){
String val = (String)rd1.getValue(j);
label = new Label( j , i ,val,format1 ) ;
sheet.addCell(label);
}
}
book.write();
book.close();
System.out.println("excel generated");
}
ListOrderedMap:
org.apache.commons.collections.map.ListOrderedMap
jar:commons-collections.jar
后台打印结果为:
{Country=国家, Postal=邮编}
{Country=中国, Postal=123456}
{Country=美国, Postal=213213}
excel generated
生成excel文件为:
国家 | 邮编 |
中国 | 123456 |
美国 | 213213 |