zoukankan      html  css  js  c++  java
  • 使用POI生成Excel文件,可以自动调整excel列宽

    //autoSizeColumn()方法自动调整excel列宽

     importjava.io.FileOutputStream;
     importorg.apache.poi.hssf.usermodel.HSSFCell;
     importorg.apache.poi.hssf.usermodel.HSSFCellStyle;
     importorg.apache.poi.hssf.usermodel.HSSFFont;
     importorg.apache.poi.hssf.usermodel.HSSFRow;
     importorg.apache.poi.hssf.usermodel.HSSFSheet;
     importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
     importorg.apache.poi.hssf.usermodel.HSSFRichTextString;
     importorg.apache.poi.hssf.usermodel.HSSFDataFormat;
     importorg.apache.poi.hssf.usermodel.HSSFComment;
     importorg.apache.poi.hssf.usermodel.HSSFPatriarch;
     importorg.apache.poi.hssf.usermodel.HSSFClientAnchor;
     
     publicclassPoiCreateExcelTest {
         publicstaticvoidmain(String[] args) {
                     
             //创建新的Excel 工作簿
              HSSFWorkbook workbook =newHSSFWorkbook();
             
             //在Excel工作簿中建一工作表,其名为缺省值, 也可以指定Sheet名称
              HSSFSheet sheet =workbook.createSheet();
             //HSSFSheet sheet = workbook.createSheet("SheetName");
             
             //用于格式化单元格的数据
              HSSFDataFormat format =workbook.createDataFormat();
             
             //创建新行(row),并将单元格(cell)放入其中. 行号从0开始计算.
              HSSFRow row =sheet.createRow((short) 1);
     
             //设置字体
              HSSFFont font =workbook.createFont();
              font.setFontHeightInPoints((short) 20); //字体高度
              font.setColor(HSSFFont.COLOR_RED); //字体颜色
              font.setFontName("黑体"); //字体
              font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //宽度
              font.setItalic(true); //是否使用斜体
     //         font.setStrikeout(true); //是否使用划线
     
             //设置单元格类型
              HSSFCellStyle cellStyle =workbook.createCellStyle();
              cellStyle.setFont(font);
              cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平布局:居中
              cellStyle.setWrapText(true);
             
             //添加单元格注释
             //创建HSSFPatriarch对象,HSSFPatriarch是所有注释的容器.
              HSSFPatriarch patr =sheet.createDrawingPatriarch();
             //定义注释的大小和位置,详见文档
              HSSFComment comment =patr.createComment(newHSSFClientAnchor(0, 0, 0, 0, (short)4, 2, (short) 6, 5));
             //设置注释内容
              comment.setString(newHSSFRichTextString("可以在POI中添加注释!"));
             //设置注释作者. 当鼠标移动到单元格上是可以在状态栏中看到该内容.
              comment.setAuthor("Xuys.");
             
             //创建单元格
              HSSFCell cell =row.createCell((short) 1);
              HSSFRichTextString hssfString =newHSSFRichTextString("Hello World!");
              cell.setCellValue(hssfString);//设置单元格内容
              cell.setCellStyle(cellStyle);//设置单元格样式
              cell.setCellType(HSSFCell.CELL_TYPE_STRING);//指定单元格格式:数值、公式或字符串
              cell.setCellComment(comment);//添加注释
     
             //格式化数据
              row =sheet.createRow((short) 2);
              cell =row.createCell((short) 2);
              cell.setCellValue(11111.25);
              cellStyle =workbook.createCellStyle();
              cellStyle.setDataFormat(format.getFormat("0.0"));
              cell.setCellStyle(cellStyle);
     
              row =sheet.createRow((short) 3);
              cell =row.createCell((short) 3);
              cell.setCellValue(9736279.073);
              cellStyle =workbook.createCellStyle();
              cellStyle.setDataFormat(format.getFormat("#,##0.0000"));
              cell.setCellStyle(cellStyle);
             
             
              sheet.autoSizeColumn((short)0); //调整第一列宽度
              sheet.autoSizeColumn((short)1); //调整第二列宽度
              sheet.autoSizeColumn((short)2); //调整第三列宽度
              sheet.autoSizeColumn((short)3); //调整第四列宽度
     
             try{
                  FileOutputStream fileOut =newFileOutputStream("C:3.xls");
                  workbook.write(fileOut);
                  fileOut.close();
              }catch(Exception e) {
                  System.out.println(e.toString());
              }
          }
     
     }
    

      

  • 相关阅读:
    javacv 通过rtsp 获取视频流 设置帧率
    Firefly-RK3399 上编译安装 OpenCV 3
    萤火虫系统(firefly) RK3399 python3 安装 tensorflow
    Linux环境创建交换分区
    python模块发布
    Docker学习
    好书收集
    python 内存管理和垃圾回收机制
    redis加分布式锁
    邀请关系设计
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/6149466.html
Copyright © 2011-2022 走看看