POI 操作 Excel

引用:POI官方文档  ,POI官方快速引导

Excel 主要有两种格式,xls和xlsx, xls 为2003版及以下Excel,xlsx为2007版及以上Excel。

Apache POI 提供相对应的HSSF和XSSF对应。

对于一个Excel来说,有哪些基本的构成呢?

Sheet:搜了一下叫工作表。Excel可以有多个Sheet。

Row :行

Cell:单元格

Column:列

可以用POI 做什么呢?

功能不外乎对上面的那些基本构成的增删查改了,Excel还可以设置字体颜色,大小等等。

代码都使用XSSF相关的包。

xlsx文件的读取和输出

 // 文件的读取
 Workbook wb = new XSSFWorkbook(new FileInputStream("workbook.xlsx"));
 //文件的输出
try (OutputStream fileOut = new FileOutputStream("workbook.xlsx")) { wb.write(fileOut); }

Sheet相关的操作:创建,获取

 Workbook wb = new XSSFWorkbook(new FileInputStream("workbook.xlsx"));
        //创建工作表
        Sheet sheet = wb.createSheet("new sheet");
        //根据名字获取工作表
        Sheet newSheet = wb.getSheet("new sheet");
        
       try (OutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
            wb.write(fileOut);
        }

Row相关的操作:创建,获取

 //创建工作簿
  Sheet sheet = wb.createSheet("new sheet");
  //创建Row
  Row row = sheet.createRow(0);
  //获取Row
  Row rowFirstRow = sheet.getRow(0);

Cell相关的操作  :创建,获取,设置Cell内容,设置某一段单元格某部分字体格式

Cell 单元格的类型 

数字,字符串,公式,空白,布尔类型,错误()

     //创建工作簿
        Sheet sheet = wb.getSheet("new sheet");
        //创建Row
        Row row = sheet.createRow(0);
        //创建单元格并设置值
        row.createCell(0).setCellValue(new Date());
        row.createCell(1).setCellValue(new XSSFRichTextString("123123123"));
        row.createCell(2).setCellValue(true);

        //设置字体
        Font font = wb.createFont();
        font.setColor(IndexedColors.RED.getIndex());
        XSSFRichTextString xssfRichTextString = new XSSFRichTextString("0123456789");
        // 对012采用字体
        xssfRichTextString.applyFont(0,3,font);

        row.createCell(3).setCellValue(xssfRichTextString);

Column相关的操作 :设置列宽

XSSFSheet sheet = wb.createSheet("规则列表");
// 宽度的单位是字符宽度的1/256
sheet.setColumnWidth(0,255*15);

 

posted @ 2018-06-28 17:00  Always_July  阅读(227)  评论(0编辑  收藏  举报