...
代码块 | ||||
---|---|---|---|---|
| ||||
function main(spreadsheetReport) { var options = Packages.com.aspose.cells.AutoFitterOptions(); //options.setAutoFitMergedCells(true); //spreadsheetReport.workbook.worksheets.get(0).autoFitRows(options); var cells = spreadsheetReport.workbook.worksheets.get(0).getCells(); //一行字体高度 var perRowHeight = 13.5;, //需要调整的单元格,每个单元格中一行多少字 // var cell_B4perRowCharCount = 17; var cell_C4perRowCharCount = 17; // var cell_D4perRowCharCount = 17; if (spreadsheetReport.outputType == "PDF" || spreadsheetReport.outputType == "PRINT") { logger.debug("pdf"); //fixExpandCells(cells, "B4", cell_B4perRowCharCount, perRowHeight); //需要调整的单元格 fixExpandCells(cells, "C4", cell_C4perRowCharCount, perRowHeight); // fixExpandCells(cells, "D4", cell_D4perRowCharCount, perRowHeight); } } function fixExpandCells(cells, pos, perRowCharCount, perRowHeight) { var expandedCells = spreadsheetReport.sheets[0].getExpandedPositions(pos); for (var i = 0; i < expandedCells.length; i++) { var eCell = expandedCells[i]; var fixCell = cells.get(eCell.row, eCell.column); fixCellHeight(cells, fixCell, perRowCharCount, perRowHeight); } } function fixCellHeight(cells, cell, perRowCharCount, perRowHeight) { var fontSize = cell.getDisplayStyle().getFont().getSize(); var mergedCount = 1; if (cell.getMergedRange() != null) { cell.getMergedRange().getColumnCount(); } var cellColumn = cell.getColumn(); var totalWidth = 0; for (var i = 0; i < mergedCount; i++) { var colWidth = cells.getColumnWidthPixel(i + cellColumn); //logger.debug(i + " is " + colWidth); totalWidth += colWidth; } var value = cell.getValue(); if (value != null) { var values = value.split("\\n"); var height = 0; for (var i = 0; i < values.length; i++) { var cellRowCount = (values[i].length() / perRowCharCount); var calHeight = Math.ceil(cellRowCount) * perRowHeight; height += calHeight; } var oldHeight = cells.getRowHeight(cell.getRow()); if (height > oldHeight) { if (height < 409) { cells.setRowHeight(cell.getRow(), height); } else { cells.setRowHeight(cell.getRow(), 409); } } } } |
...