如何将现有列数据和格式复制到 Apache POI 中的下一列并将下一列向右移动。
我试过这个。
假设我的代码是这样的......
XSSFCell oldCell = worksheet.getRow(0).getCell(1);
XSSFCell newCell = worksheet.getRow(0).getCell(2);
if(styleMap != null) {
if(oldCell.getSheet().getWorkbook() == newCell.getSheet().getWorkbook()){
newCell.setCellStyle(oldCell.getCellStyle());
} else{
int stHashCode = oldCell.getCellStyle().hashCode();
XSSFCellStyle newCellStyle = styleMap.get(stHashCode);
if(newCellStyle == null){
newCellStyle = newCell.getSheet().getWorkbook().createCellStyle();
newCellStyle.cloneStyleFrom(oldCell.getCellStyle());
styleMap.put(stHashCode, newCellStyle);
}
newCell.setCellStyle(newCellStyle);
}
}
我能够将值从旧单元格复制到新单元格,但它不会将现有列向右移动。
在此先感谢您的帮助。
最佳答案
我已经好几年没有使用 POI,但是如果我没记错的话,您必须遍历一行中的所有单元格,并将每个 Cell
中的列号更新为您想要的。没有神奇的“插入列”方法。请记住从右到左执行此操作以避免完全破坏工作表:-)
关于java - 如何在java xssf poi中移动列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21038935/