java导出Excel

来源:互联网 发布:世界各地社交软件 编辑:程序博客网 时间:2024/06/06 01:40

public void outputxls(HttpServletResponse response ,HttpServletRequest request ) throws IOException{
//PrintWriter out= response.getWriter();
try {
String city = “北京市”;
String grade = “成绩”;

        response.setContentType("application/vnd.ms-excel"); //保证不乱码          String fileName = city + "excel表格数据.xls";          /* //到第一个值项是attachment,这是真正的关键,设定了这个值,浏览器就会老老实实地显示另存为对话框,如果这个值设成 inline,则无论怎样浏览器都会自动尝试用已知关联的程序打开文件。         response.addHeader("Content-Disposition","attachment; filename=\""+ new String(fileName.getBytes("gb2312"),"iso8859-1") + "\""); */          response.setHeader("Content-Disposition", "attachment;"                  + " filename="                  + new String(fileName.getBytes(), "ISO-8859-1"));          OutputStream os = response.getOutputStream();          // 新建excel的工作薄文件          WritableWorkbook book = Workbook.createWorkbook(os);          // 生成名为"第一页"的工作表,参数0表示这是第一页          WritableSheet sheet1 = book.createSheet("第一页", 0);          /***********start第一行(各个列的标题)************/          //第一列第一行(0,0)          Label label1 = new Label(0, 0, "名字");          // 将定义好的单元格添加到工作表中          sheet1.addCell(label1);          //第二列第一行          Label label2 = new Label(1, 0, "性别");          sheet1.addCell(label2);          //第三列第一行          Label label3 = new Label(2, 0, "年龄");          sheet1.addCell(label3);          /***********end第一行(各个列的标题)************/          for(int i=1; i<=50; i++){    //控制行数(从第二行开始)                  for(int j=0 ;j<3 ;j++) { //控制列数                      if(j==0) {                          Label label = new Label(j, i, "zp");                          sheet1.addCell(label);                      }                      if(j==1) {                          Label label = new Label(j, i, "男");                          sheet1.addCell(label);                      }                      if(j==2) {                          Label label = new Label(j, i, "23");                          sheet1.addCell(label);                      }                         }                 }             // 写入数据并关闭文件          book.write();          book.close();          os.close();      } catch (Exception e) {          System.out.println("生成信息表(Excel格式)时出错:");          e.printStackTrace();      }  }
原创粉丝点击