zoukankan      html  css  js  c++  java
  • java poi操作创建xslx或xsl文件,存本地和进行网络传输两种方式集成

     1 package com.java.zxf.util;
     2 
     3 import java.io.IOException;
     4 import java.io.OutputStream;
     5 import java.net.URLEncoder;
     6 import java.util.List;
     7 import javax.servlet.http.HttpServletResponse;
     8 import org.apache.poi.hssf.usermodel.HSSFCell;
     9 import org.apache.poi.hssf.usermodel.HSSFRow;
    10 import org.apache.poi.hssf.usermodel.HSSFSheet;
    11 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    12 /**
    13  * 用来生成xsls或xsl文件的类,生成后可以进行传输下载
    14  * 注意:前台请不要使用ajax方式发送下载请求,因为其不支持.
    15  * @author Administrator
    16  *
    17  */
    18 public class XSLXUtil {
    19     /**
    20      * 
    21      * @param response
    22      * @param titlelist:一个list集合,用来指定表头信息
    23      * @param objlist:一个list结合嵌套,内存list就是表头字段对应得一行数据
    24      * @param filename:一个文件名,可以自己指定
    25      * @throws IOException
    26      */
    27     public static void getbook(HttpServletResponse response,List<String> titlelist,List<List<String>> objlist,String filename) throws IOException{
    28         HSSFWorkbook wb = new HSSFWorkbook();
    29         //建立新的sheet对象(excel的表单)
    30         HSSFSheet sheet=wb.createSheet();
    31         //这里是指定每列的宽度256=1字符,依次类推
    32         for(int x=0;x<ShowString.GDTITLELEN.length;x++){
    33             sheet.setColumnWidth(x,ShowString.GDTITLELEN[x]);
    34         }
    35         //在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
    36         //HSSFRow row1=sheet.createRow(0);
    37         //创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
    38         //HSSFCell cell=row1.createCell(0);
    39             //设置单元格内容
    40         //cell.setCellValue("学员考试成绩一览表");
    41         //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
    42         //sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));
    43         //在sheet里创建第二行
    44         
    45         HSSFRow row1=sheet.createRow(0); 
    46         for(int i=0;i<titlelist.size();i++){
    47             row1.createCell(i).setCellValue(titlelist.get(i));
    48         }
    49         for(int j=0;j<objlist.size();j++){
    50             HSSFRow row=sheet.createRow(j+1); 
    51             List<String> temp = (List<String>) objlist.get(j);
    52             for(int k=0;k<temp.size();k++){
    53                 HSSFCell cell = row.createCell(k);
    54                 cell.setCellValue(temp.get(k));
    55             }
    56         }
    57         //测试阶段,将文件输出到本地进行存储
    58         /*OutputStream os = new FileOutputStream("c:\"+filename);
    59         wb.write(os);
    60         os.flush();
    61         os.close();
    62         SystemOut.classSystemOut("xslx文件创建成果", "");*/
    63         response.reset();
    64         OutputStream output=response.getOutputStream();
    65         response.setHeader("Content-disposition", "attachment; filename="+ URLEncoder.encode(filename, "UTF-8"));
    66         response.setContentType("application/msexcel");        
    67         wb.write(output);
    68         output.close();
    69         SystemOut.classSystemOut("xslx文件创建成果", "");
    70     }   
    71 }
     1 package com.java.zxf.util;
     2 
     3 import java.io.File;
     4 
     5 public interface ShowString {
     6     
     7     public static String picstorage = "imgs"+File.separator+"upload";
     8     
     9     public static String picstorage1 = "imgs/upload";
    10     
    11     public static int defaultEvaluatetime = 7;
    12     
    13     public static int expireinterval = 2;
    14     
    15     public static String GDTYPE = "gd";
    16     
    17     public static String TJTYPE = "tj";
    18 
    19     public static int[] GDTITLELEN = {40*256,256*20,256*20,12*256,30*256,12*256,20*256,15*256,15*256,20*256,30*256,50*256,16*256,15*256,20*256,15*256,10*256,15*256,150*256};
    20     
    21     public static String GDTITLE[] = {"工单编号","机器编号","机器类型","报修人","公司名称","报修手机号","故障归类","工单发起时间","工单结束时间","故障现象","故障描述","报修地址","机器型号","期待服务时间","确认故障","过期时间","是否服务端报修","工单第一提报人","机器其它参数"};
    22     
    23     public static String TJTITLE[] = {};
    24     
    25 }
  • 相关阅读:
    Custom Roles Based Access Control (RBAC) in ASP.NET MVC Applications
    How To Display Variable Value In View?
    How do negative margins in CSS work and why is (margin-top:-5 != margin-bottom:5)?
    Async/Await FAQ (Stephen Toub)
    Async and Await (Stephen Cleary)
    Change Assembly Version in a compiled .NET assembly
    C# Under the Hood: async/await (Marko Papic)
    Bootstrap form-group and form-control
    Infralution.Localization.Wpf
    cocos2d-x 图形绘制
  • 原文地址:https://www.cnblogs.com/g177w/p/10079470.html
Copyright © 2011-2022 走看看