//从数据库获取数据 list
List<Map<String,Object>> list = xxxxxxx;
//列的宽度数组
Integer[] columnWidths = new Integer[] { 15, 15, 15, 15, 15, 15};
//定义输出流
OutputStream os = null;
//创建工作簿
WritableWorkbook work = null;try {
//下载时的提示的文件名
String excelName = "表.xls";
//设置内容类型
response.setContentType("APPLICATION/OCTET-STREAM");
//设置消息头
response.setHeader("Content-Disposition", "attachment; filename="+ URLEncoder.encode(excelName, "UTF-8"));
//获取输出流
os = response.getOutputStream();
//定义表名
String sheetName = "转账记录表";WorkbookSettings setting = new WorkbookSettings();
//设置国家语言
Locale locale = new Locale("xx", "CN");setting.setLocale(locale);
setting.setEncoding("UTF-8");
work = Workbook.createWorkbook(os, setting);
//表
WritableSheet sheet = work.createSheet(sheetName,1);
//定义标签
Label label = null;//标题栏
String[] headers ={ "666", "888", "55", "44", "1", "11"};
//用标题数组的长度,定义列的多少
int colSize = headers.length;int temp = 0;
//定义列的内容
String colName = null;for (int i = 0; i < colSize; i++) {
colName = headers[i];
if (null == colName || "".equals(colName))
colName = " ";
label = new jxl.write.Label(i, 0, colName);
sheet.addCell(wlabel);
temp = columnWidths[i].intValue();
// 默认设置列宽
temp = temp == 0 ? 15 : temp;
sheet.setColumnView(i, temp);
}
for (int i = 0; i < list.size(); i++) {
Map<String,Object> maps = list.get(i);
//给标签 赋值
wlabel = new jxl.write.Label(0, (i + 1), maps.get("fid")==null?"":maps.get("fid").toString() + " ");
//把标签的内容填充到单元格内
sheet.addCell(wlabel);String type = maps.get("type").toString();
switch(type){
case "0":
type = "UUID转账";
break;
case "1":
type = "钱包地址转账";
break;
default:
type = " ";
break;
}
label = new jxl.write.Label(4, (i + 1), type);
sheet.addCell(wlabel);
label = new jxl.write.Label(5, (i + 1), maps.get("createTime")==null?"":maps.get("createTime").toString() + " ");
sheet.addCell(wlabel);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
//关闭流
work.write();work.close();
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}