重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

使用java怎么导出包含多个sheet的Excel

这期内容当中小编将会给大家带来有关使用java怎么导出包含多个sheet的Excel,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站设计、成都网站建设、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。

Java可以用来干什么

Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。

Java类:

try { 
  HSSFWorkbook workbook = new HSSFWorkbook(); 
  OutputStream out = response.getOutputStream(); 
  for(int j=0;j> teasalList = service.select(teasal); 
    //接下来循环list放到Excel表中 
    if(teasalList.isSuccess()&&teasalList.getResult().size()>0){ 
      //文件标题 
      SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd"); 
      String nowdate = formatter1.format(new Date()); 
      String title = null; 
      title = "excel表格标题-" + nowdate + ".xls"; 
      String sheettitle = "sheet表名"; 
      //设置表格标题行 
      String oneheaders = "首行标题" ; 
      String dateheaders = nowdate ; 
      String[] headers = new String[] {"列1","列2","列3","列4"}; 
      List dataList = new ArrayList(); 
      Object[] objs = null; 
      for(int i =0; i<3 ; i++){ //循环每一条数据 
        objs = new Object[headers.length]; 
        objs[1] = "张三";  //姓名 
        objs[2] = "3"; //序号 
        //数据添加到excel表格 
        dataList.add(objs); 
      } 
      //使用流将数据导出 
      //防止中文乱码 
      String headStr = "attachment; filename=\"" + new String( title.getBytes("gb2312"), "ISO8859-1" ) + "\""; 
      response.setContentType("octets/stream"); 
      response.setContentType("APPLICATION/OCTET-STREAM"); 
      response.setHeader("Content-Disposition", headStr); 
      ExportExcelDownFee ex ; 
      ex = new ExportExcelDownFee(sheettitle, oneheaders, dateheaders,headers, dataList);//没有标题 
      ex.export(workbook,out); 
    } 
  } 
  workbook.write(out); //循环生成多个sheet之后在导出Excel
  out.close(); //关闭流
} catch (Exception e) { 
  e.printStackTrace(); 
}

 工具类:

public class ExportExcelDownFee { 
 
  //导出表的列名 
  private String[] rowName ; 
  //导出表的小标题 
  private String oneheaders; 
  //导出表的日期 
  private String dateheaders; 
  //sheet表表名 
  private String sheettitle; 
 
  private List dataList = new ArrayList(); 
 
  HttpServletResponse response; 
   
  //构造方法2,传入要导出的数据 
  public ExportExcelDownFee( String sheettitle, String oneheaders, String dateheaders, String[] rowName,List dataList){ 
    this.dataList = dataList; 
    this.oneheaders = oneheaders; 
    this.dateheaders = dateheaders; 
    this.rowName = rowName; 
    this.sheettitle = sheettitle; 
  } 
   
  /* 
   * 导出数据 
   * */ 
  public void export(HSSFWorkbook workbook,OutputStream out) throws Exception{ 
    try{ 
      HSSFSheet sheet = workbook.createSheet(sheettitle);         // 创建工作表 
 
      HSSFCellStyle columnTopStyle = this.getColumnTopStyle(workbook);//获取列头样式对象 
      HSSFCellStyle style = this.getStyle(workbook);         //单元格样式对象 
 
      //第一行 
      HSSFRow rowfirstName = sheet.createRow(0); 
      HSSFCell oneCellRowName = rowfirstName.createCell(0);        //创建列头对应个数的单元格 
      oneCellRowName.setCellType(HSSFCell.CELL_TYPE_STRING);       //设置列头单元格的数据类型 
      HSSFRichTextString onetext = new HSSFRichTextString(oneheaders); 
      oneCellRowName.setCellValue(onetext);                 //设置列头单元格的值 
      //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列  
      sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));  
      oneCellRowName.setCellStyle(columnTopStyle);            //设置列头单元格样式 
       
      //第二行 
      HSSFRow rowDateName = sheet.createRow(1); 
      HSSFCell DateCellRowName = rowDateName.createCell(3); 
      DateCellRowName.setCellValue(dateheaders); 
      DateCellRowName.setCellStyle(columnTopStyle);  
       
      // 定义所需列数 
      int columnNum = rowName.length; 
      HSSFRow rowRowName = sheet.createRow(2);        // 在索引2的位置创建行(最顶端的行开始的第二行) 
 
      // 将列头设置到sheet的单元格中 
      for(int n=0;n

上述就是小编为大家分享的使用java怎么导出包含多个sheet的Excel了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


当前题目:使用java怎么导出包含多个sheet的Excel
文章来源:http://cqcxhl.com/article/jejpss.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP