java excel表导入导出,javaweb导出excel表格

  java excel表导入导出,javaweb导出excel表格

  写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用

  JAVA导出EXCEL表格的方法:

  基本操作步骤:

  首先,我们应该要知道的是,一个超过文件对应一个工作簿,一个练习本中有多个表组成,一个表是由多个行(行)和列(单元格)组成。

  那么我们用poi要导出一个Excel表格的正确顺序应该是:

  1、用可怕的电子表格格式工作簿打开或者创建“Excel文件对象"

  2、用可怕的电子表格格式工作簿对象返回或者创建表对象

  3、用表对象返回行对象,用行对象得到细胞对象

  4、对细胞对象读写。

  5、将生成的可怕的电子表格格式工作簿放入响应中响应到前端页面

  导出Excel应用实例:

  工具类代码:

  包com。yq。util

  导入org。阿帕奇。poi。hssf。用户模型。hssf细胞;

  导入org。阿帕奇。poi。hssf。用户模型。hssfcellstyle

  导入org。阿帕奇。poi。hssf。用户模型。HSS流程。

  导入org。阿帕奇。poi。hssf。用户模型。hssf表;

  导入org。阿帕奇。poi。hssf。用户模型。hssf工作簿;

  公共类ExcelUtil {

  /**

  * 导出超过

  * @param sheetName工作表名称

  * @param标题标题

  * @param值内容

  * @param wb HSSFWorkbook对象

  * @返回

  */

  公共静态hssf工作簿gethssf工作簿(字符串工作表名称,字符串[]标题,字符串[][]值,hssf工作簿wb){

  //第一步,创建一个可怕的电子表格格式工作簿,对应一个超过文件

  if(wb==null){

  WB=new hssf workbook();

  }

  //第二步,在练习本中添加一个床单,对应超过文件中的表

  hssf工作表=WB。创建工作表(工作表名称);

  //第三步,在表中添加表头第0行,注意老版本夏威夷芋泥饼对超过的行数列数有限制

  HSS row row=sheet。创建行(0);

  //第四步,创建单元格,并设置值表头设置表头居中

  HSSFCellStyle style=WB。createcellstyle();

  风格。设置对齐方式(HSSFCellStyle .ALIGN _ CENTER);//创建一个居中格式

  //声明列对象

  HSSFCell单元格=空

  //创建标题

  for(int I=0;it标题。长度;i ){

  单元格=行。创建单元格(I);

  细胞。setcellvalue(title[I]);

  cell.setCellStyle(样式);

  }

  //创建内容

  for(int I=0;ivalues.lengthi ){

  行=工作表。创建行(i1);

  for(int j=0;jvalues[i].长度;j ){

  //将内容按顺序赋给对应的列对象

  row.createCell(j).setCellValue(values[I][j]);

  }

  }

  返回WB;

  }

  }控制器代码:

  @控制器

  @RequestMapping(value=/report )

  公共类ReportFormController扩展基本控制器{

  @Resource(name=reportService )

  私有报表管理器reportService

  /**

  * 导出报表

  * @返回

  */

  @RequestMapping(value=/export )

  @ResponseBody

  公共空的导出(HttpServletRequest请求,HttpServletResponse响应)引发异常{

  //获取数据

  ListPageData list=reportservice。书目(第页);

  //excel标题

  String[] title={ 名称,性别,年龄,学校,班级};

  //excel文件名

  字符串文件名=学生信息表System.currentTimeMillis() .xls ;

  //工作表名

  字符串sheetName=学生信息表;

  for(int I=0;我列出。size();i ) {

  内容[i]=新字符串【标题。长度];

  PageData obj=list。get(I);

  content[i][0]=obj.get(stuName ).tostring();

  内容[I]=obj . get( stu sex ).tostring();

  内容[I]=obj . get( stu age ).tostring();

  内容[I][3]=对象。get( stu学校名称).tostring();

  内容[I][4]=对象。get( stu类名).tostring();

  }

  //创建可怕的电子表格格式工作簿

  hssf工作簿WB=excelutil。gethssf工作簿(工作表名称、标题、内容、null);

  //响应到客户端

  尝试{

  this.setResponseHeader(响应,文件名);

  输出流OS=响应。获取输出流();

  WB。写(OS);

  OS。flush();

  OS。close();

  } catch(异常e) {

  e。printstacktrace();

  }

  }

  //发送响应流方法

  公共void setresponse头(http servlet响应响应,字符串文件名){

  尝试{

  尝试{

  文件名=新字符串(fileName.getBytes(), ISO8859-1 );

  } catch(UnsupportedEncodingException e){

  //TODO自动生成的捕捉块

  e。printstacktrace();

  }

  回应。设置内容类型(‘应用程序/八位字节流;charset=iso 8859-1’);

  回应。设置标题(内容-处置,附件;fileName= fileName);

  response.addHeader(Pargam , no-cache );

  回应。添加标头(“Cache-Control”、“no-Cache”);

  } catch (Exception ex) {

  前任。printstacktrace();

  }

  }

  }前端页面代码:

  按钮id= js-export type= button class= BTN BTN-小学导出excel/按钮

  $(#js-export ).单击(函数(){

  窗户。位置。href=/report/exportbookstable。做;

  });以上就是爪哇岛如何导出超过表格的详细内容,更多请关注我们其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: