使用jxl处理excel文件时经常会碰到合并单元格,比如读取合并单元格的数据、将单元格式合并等等.
1、合并单元格我们可以通过:接口WritableSheet中的mergeCells (int col1, int row1, int col2, int row2)方法来合并单元格,其中参数:
col1 -为合并单元格左上角所在的列
row1 -为合并单元格左上角所在的行
col2 - 为合并单元格右下角所在的列
row2 - 为合并单元格右下角所在的行
2、读取或判断某元格是否为合并后的单元格,我们可以通过jxl.sheet类提供一个实例方法getMergedCells() ,可以获取该sheet中所有合并后的区域,如:
Workbook workbook = Workbook.getWorkbook(new File(filePath));
Sheet[] sheets = workbook.getSheets();
Range[] ranges =null;
for (Sheet sheet : sheets) {
ranges = sheets.getMergedCells();
}
如果通过以上方式获取的话,不管sheet中是否包含合并的单元格区域ranges都为零,百思不得棋解,最后试着通过以下方式去获取Sheet集合居然可以了,但不知道为什么按照上面的写法就是不行。 int sheetSize = workbook.getNumberOfSheets();
Workbook workbook = Workbook.getWorkbook(new File(filePath));
int sheetSize = workbook.getNumberOfSheets();
Range[] ranges =null;
for (int i = 0; i < sheetSize; i ++) {
Sheet sheet = workbook.getSheet(i);
ranges = sheet.getMergedCells();
}