/** * セルの縮小して全体を表示する * * @param nRow 行データ * @return 有効列数 */ public static void setShrinkToFitForCell(XSSFWorkbook wb, XSSFSheet sheet, int nRow, int nCol) { XSSFRow row = OoxmlUtil.getRowAnyway(sheet, nRow); XSSFCell cell = OoxmlUtil.getCellAnyway(row, nCol); CellStyle styletmp = cell.getCellStyle(); CellStyle newStyletmp = wb.createCellStyle(); newStyletmp.cloneStyleFrom(styletmp); newStyletmp.setWrapText(false); // 折り返して全体を表示する newStyletmp.setShrinkToFit(true); // 縮小して全体を表示する cell.setCellStyle(newStyletmp); }
/** * 上線は太線のセル行を探す * * @param nRow 行データ * @return 有効列数 */ public static int getRowForBold(XSSFSheet sheet, int nRow, int pageRowNum) { int nRowIndex = nRow; for (nRowIndex = nRow; nRowIndex > (nRow - pageRowNum); nRow--) { XSSFRow row = OoxmlUtil.getRowAnyway(sheet, nRow); if (row != null) { XSSFCell cell = row.getCell(0); XSSFCellStyle styletmp = cell.getCellStyle(); short borderTopnum = styletmp.getBorderTop(); short borderBold = XSSFCellStyle.BORDER_MEDIUM; if (styletmp.getBorderTop() == (XSSFCellStyle.BORDER_MEDIUM)) { break; } } } return nRowIndex; }