pdf模式 数据库数据导出

/**

* 导出
* @throws FileNotFoundException 
*/
    public String  excel() throws FileNotFoundException{
    //放到tomcat下
     String fileName="用户管理";
     String pathName=ServletActionContext.getRequest().getSession().getServletContext().getRealPath("")+"\\export\\"+fileName+".xls";
   
    //4.1定义表头
    String tableName="T_USER";
    String tableCName = selectDataService.getString("select comments from user_tab_comments where table_name =‘"+tableName+"‘");
      


    //4.2获取表的中文注释
    List<Map> list=selectDataService.queryForList("select t.column_name,t.comments from user_col_comments t where table_name =‘"+tableName+"‘");
   
    //4.2 创建一个list
    List<String> columns=new ArrayList<String>();
    Map<String, String> colmap=new TreeMap<String, String>();
    for (Map map:list) {

    //把数据库里的注释取出来,放到columns里
    columns.add(map.get("COMMENTS").toString());
    //把數據庫的中文注釋放到map集合中
    colmap.put(map.get("COMMENTS").toString(), map.get("COLUMN_NAME").toString());
   
}
   
   
    //  1创建hssfworkbook
    HSSFWorkbook hssfwork=new HSSFWorkbook();
   
    // 2创建sheet
    HSSFSheet sheet = hssfwork.createSheet(tableCName);
   
    // 3创建标题row(行)
    HSSFRow row = sheet.createRow(0);
   
    // 4创建单元格
    for (int i = 0; i < columns.size(); i++) {
//創建單元格
      HSSFCell createCell = row.createCell(i);
    //把取出來的值放进单元格里
      createCell.setCellValue(list.get(i).get("COMMENTS").toString());
}
   
    //5 从数据库里取出所有数据
    List<Map> dataList=selectDataService.queryForList("select * from "+tableName);
   
    //6便利下所有数据
    //i循环是循环一条一条的   ,j循环是循环一条数据里的每个值
    for (int i = 0; i < dataList.size(); i++) {
   
//获取一行一行的数据
    Map cols=dataList.get(i);
   
    //创建标题行
    HSSFRow rowdata = sheet.createRow(i+1);
   
    System.out.println("cols>>>"+cols);
   
    //j循环是循环一条数据里的每个值
    for (int j = 0; j < cols.size(); j++) {

    //放到每个单元格里
    String fangyuange = columns.get(j);
   
    //去英文字段
    String ing = colmap.get(fangyuange);
   
    //放到列种
    Object value = cols.get(ing);
   
    //创建单元格(通过行)放进单元格
    HSSFCell cell = rowdata.createCell(j);
    cell.setCellValue(value.toString());
   
}
}
   
   
    FileOutputStream fos=new FileOutputStream(pathName);
   
    //放进路径
    try {
hssfwork.write(fos);
ServletActionContext.getResponse().getWriter().write("ok");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{

try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
return null;
   
   
    }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。