zoukankan      html  css  js  c++  java
  • java-excel导出

    java excel导出分为两种2003年的格式和2007年的格式。

    2003年的xls一个sheet限制65536。

    2007年的xlsx限制为1048576。

    jxl导入2003

    gradle jar包compile group: 'net.sourceforge.jexcelapi', name: 'jxl', version: '2.6.12'

    public void writeExcelJXL() {
             String path = "/macc/excel/";
             String[] titles = {"用户活跃时间","频段","网点名称","下行速率(kbps)","MAC","上线时间","丢包率(‰)","信号强度","SN","时延(ms)","上下行速率(kbps)","上行速率(kbps)","用户ip","下行流量(byte)","上行流量(byte)","上下行流量(byte)"};
             List<String> titleList = Arrays.asList(titles);
             File file = new File(path);
             if(!file.exists())
                 file.mkdirs();
             
              // 以下开始输出到EXCEL
              try {    
               /** **********创建工作簿************ */
               OutputStream os = new FileOutputStream(path + "test.xls");
               WritableWorkbook workbook = Workbook.createWorkbook(os);
             
               /** **********创建工作表************ */
             
               WritableSheet sheet = workbook.createSheet("Sheet1", 0);
             
               /** **********设置纵横打印(默认为纵打)、打印纸***************** */
               jxl.SheetSettings sheetset = sheet.getSettings();
               sheetset.setProtected(false);
             
             
               /** ************设置单元格字体************** */
               WritableFont NormalFont = new WritableFont(WritableFont.ARIAL, 10);
             
               /** ************以下设置三种单元格样式,灵活备用************ */
               // 用于标题居中
               WritableCellFormat wcf_center = new WritableCellFormat(NormalFont);
               wcf_center.setBorder(Border.NONE, BorderLineStyle.THIN); // 线条
               wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); // 文字垂直对齐
               wcf_center.setAlignment(Alignment.CENTRE); // 文字水平对齐
               wcf_center.setWrap(false); // 文字是否换行
             
               /** ***************以下是EXCEL第一行列标题********************* */
               for (int i = 0; i < titleList.size(); i++) {
                sheet.addCell(new Label(i, 0,titleList.get(i),wcf_center));
               }   
               /** ***************以下是EXCEL正文数据********************* */
               int i=1;
               List<CurrentUser> listContent = mongo.findAll(CurrentUser.class);
               for(CurrentUser obj:listContent){
                   for (int j = 0; j < titleList.size(); j++) {
                       Object va = obj.getMac();
                       if(va != null)
                           sheet.addCell(new Label(j, i,va.toString(),wcf_center));
                   }
                   i++;
               }
               /** **********将以上缓存中的内容写到EXCEL文件中******** */
               workbook.write();
               /** *********关闭文件************* */
               workbook.close();   
               System.out.println("finished");
              } catch (Exception e) {
                  e.printStackTrace();
              }
         }

    poi导入2007

    compile group: 'org.apache.poi', name: 'poi', version: '3.14'

    compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.14'

    private void create2007Excel() {
            String path = "/macc/excel/";
             String[] titles = {"用户活跃时间","频段","网点名称","下行速率(kbps)","MAC","上线时间","丢包率(‰)","信号强度","SN","时延(ms)","上下行速率(kbps)","上行速率(kbps)","用户ip","下行流量(byte)","上行流量(byte)","上下行流量(byte)"};
             List<String> titleList = Arrays.asList(titles);
             File file = new File(path);
             if(!file.exists())
                 file.mkdirs();
             XSSFWorkbook workbook = new XSSFWorkbook();
             try (OutputStream os = new FileOutputStream(path + "test.xlsx")) {
                 /** **********创建工作簿************ */
               XSSFSheet sheet = workbook.createSheet();
               /** ***************以下是EXCEL第一行列标题********************* */
               XSSFRow titleRow = sheet.createRow(0);
               for (int i = 0; i < titleList.size(); i++) {
                   XSSFCell cell = titleRow.createCell(i);
                   cell.setCellValue(titleList.get(i));
               }   
               /** ***************以下是EXCEL正文数据********************* */
               int i=1;
               List<CurrentUser> listContent = mongo.findAll(CurrentUser.class);
               int rowNum = 1;
               for(CurrentUser obj:listContent){
                   XSSFRow row = sheet.createRow(rowNum);
                   rowNum ++;
                   for (int j = 0; j < titleList.size(); j++) {
                       Object va = obj.getMac();
                       if(va != null)
                           row.createCell(j).setCellValue(va.toString());
                   }  
                   i++;
               }
               workbook.write(os);
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            System.out.println("创建成功 office 2007 excel");  
        } 
  • 相关阅读:
    ArcObjects
    Dojo是什么?
    百度地图是什么坐标系?
    高德地图API
    地理POI数据爬取-以百度地图为例
    Microsoft Help Viewer&ArcGIS Server二次开发.net篇 (一) 安装
    DevOps:Docker VS Kubernetes
    JUnit测试环境搭建
    嵌入式tomcat
    如何使用ABAP发送带有PDF格式附件的电子邮件
  • 原文地址:https://www.cnblogs.com/guochunyi/p/5643417.html
Copyright © 2011-2022 走看看