码迷,mamicode.com
首页 > 数据库 > 详细

pdf模式 数据库数据导出

时间:2014-12-18 13:42:51      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:数据库   数据   oracle   

/**

* 导出
* @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;
   
   
    }

pdf模式 数据库数据导出

标签:数据库   数据   oracle   

原文地址:http://blog.csdn.net/zh_cinderella/article/details/42003405

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!