java apache POI操作Excel的一些小技巧

来源:互联网 发布:java线程连接池有哪些 编辑:程序博客网 时间:2024/05/16 09:50

最近在开发一个处理数据的程序,期间需要对单元格的缓存值进行处理,在网上找到一些资料,自己尝试着实现下。

一、Apache-POI操作Excel将合并后的单元格全部填充为相同数据的一个实例。

private static void fillMergedRegion(final Sheet sheet) {    for (int i = 0; i < sheet.getNumMergedRegions(); i++) {        int startRow = sheet.getMergedRegion(i).getFirstRow();        int endRow = sheet.getMergedRegion(i).getLastRow();        int startColumn = sheet.getMergedRegion(i).getFirstColumn();        int endColumn = sheet.getMergedRegion(i).getLastColumn();        String value = getStringValue(sheet.getRow(startRow).getCell(startColumn));         for (int row = startRow; row <= endRow; row++) {            for (int column = startColumn; column <= endColumn; column++) {                sheet.getRow(row).getCell(column).setCellValue(value);            }        }    }}

二、Apache-POI操作Excel获得单元格内容

public static String getStringValue(Cell cell) {        if (cell == null) {            return StringConst.EMPTY_STRING;        }         // get the type of cell, and transform it        if (Cell.CELL_TYPE_FORMULA == cell.getCellType()) {            switch (cell.getCachedFormulaResultType()) {            // if it is mumeric type            case Cell.CELL_TYPE_NUMERIC:                 return new DataFormatter().createFormat(cell).format(cell.getNumericCellValue());                // if it is string type            case Cell.CELL_TYPE_STRING:                return cell.getRichStringCellValue().toString();             }        }        return new DataFormatter().formatCellValue(cell);    }


0 0
原创粉丝点击