概述
Java POI 拆分excel单元格并填充内容
public void test(Sheet sheet) {
int numMergedRegions = sheet.getNumMergedRegions();
for(int z = 0; z < numMergedRegions; z++) {
CellRangeAddress merge = sheet.getMergedRegion(z);
//System.out.println("Number: " + z);
//System.out.println("first column: " + merge.getFirstColumn() + " last column " + merge.getLastColumn());
//System.out.println("first row: " + merge.getFirstRow() + " last row " + merge.getLastRow());
//System.out.println("==============");
int firstCol = merge.getFirstColumn();
int lastCol = merge.getLastColumn();
int firstRow = merge.getFirstRow();
int lastRow = merge.getLastRow();
Cell cell = null;
for (int k = firstRow; k <= lastRow; k++) {
for (int l = firstCol; l <= lastCol; l++) {
if (cell == null){//拿到第一个值就是合并单元格的值
cell = sheet.getRow(k).getCell(l);
}else {
Cell cell1 = sheet.getRow(k).getCell(l);
switch (cell.getCellType()) {
case NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) { //判断是否为日期类型
Date date = cell.getDateCellValue();
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
cell1.setCellValue(formater.format(date));
} else {
DecimalFormat df = new DecimalFormat("####.####");
cell1.setCellValue( df.format(cell.getNumericCellValue()));
}
break;
case STRING:
cell1.setCellValue(cell.getStringCellValue());
break;
case BOOLEAN:
cell1.setCellValue(cell.getBooleanCellValue() + "");
break;
case BLANK: //空值
cell1.setCellValue("");
break;
case ERROR:
cell1.setCellValue("非法字符");
break;
}
}
}
}
}
}
最后
以上就是机灵睫毛膏为你收集整理的Java POI 拆分excel单元格并填充内容的全部内容,希望文章能够帮你解决Java POI 拆分excel单元格并填充内容所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复