您的位置:首页 > 其它

使用jxl从web页面下载数据到本地的Excel中

2017-11-02 16:20 459 查看
//从数据库获取数据 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 = " ";

 
938b
              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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐