Apache POI基本操作

POI中excel的基本组成部分

1.工作簿 HSSFWorkbook

    // 根据excel文件获取一个工作簿
    HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(path));
    // 创建一个新的工作簿
    HSSFWorkbook myWorkbook = new HSSFWorkbook();

2.工作表 HSSFSheet

    // 从工作簿获取第一个工作表
    HSSFSheet sheet = wb.getSheetAt(0);
    // 为当前工作簿新建一个工作表
    HSSFSheet mySheet = myWorkbook.createSheet();

3.一行 HssfRow

    // 获取已有的数据行
    HSSFRow newRow = mySheet.getRow(i);
    if (newRow == null) {
        // 创建一个新数据行
        newRow = mySheet.createRow(i);
    }

4.一个单元格 HSSFCell

    HSSFCell newCell = newRow.getCell(j);
    if (newCell == null) {
        newCell = newRow.createCell(j);
    }

还有一种特殊的单元格,合并单元格

   // 合并单元格 CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)
   mySheet.addMergedRegion(new CellRangeAddress(i, i, 0, 1));

合并单元格设置值以及样式的时候,注意要设置到该合并单元格的第一个单元格。如下:

   //设置合并单元格的值
   HSSFRow newRow = mySheet.getRow(i);
   newRow.getCell(0).setCellValue(cellValue);

单元格由样式、值、公式等组成。样式包含字体/颜色/是否加粗/自动换行/数据类型等;基于此,我们可以在excel中定义好我们需要的样式(也可能是客户指定的样式,提供一个excel样例),直接拷贝过来进行设置即可。

设置列宽

HssfSheet: setColumnWidth(int columnIndex, int width) columnIndex列索引,width宽度
getColumnWidth(int columnIndex)

缩放比例

   // 设置缩放比例
   mySheet.setZoom(85);

单元格样式

   // 获取单元格原有样式
   HSSFCellStyle oldCellStyle = HssfCell: getCellStyle()
   // 创建单元格样式
   HSSFCellStyle newCellStyle = myWorkbook.createCellStyle();
   // 从已有单元格样式克隆
   newCellStyle.cloneStyleFrom(oldCellStyle)
   // 设置自动换行
   newCellStyle.setWrapText(true);
   // 为单元格设置样式
   hssfCell.setCellStyle(newCellStyle);

单元格值

hssfCell.setCellValue(T value); // 可以设置多种数据类型
excel单元格有一种数据类型叫做常规类型,这种数据类型无特定格式,但是要设置为数值时,可以将单元格数据类型设置为常规类型,同时设置值为Double类型,这样我们也能达到设置数值的目的,如下代码:

   Double dbCellValue = new Double(cellValue);
   newCell.setCellValue(dbCellValue);

猜你喜欢

转载自blog.csdn.net/linshenggui/article/details/81016705