List of usage examples for org.apache.poi.hssf.usermodel HSSFRow getZeroHeight
@Override public boolean getZeroHeight()
From source file:com.report.excel.ExcelToHtmlConverter.java
License:Apache License
protected void processSheet(HSSFSheet sheet) { //processSheetHeader( htmlDocumentFacade.getBody(), sheet ); sheet.setAutobreaks(true);// ww w .ja v a2 s . c o m final int physicalNumberOfRows = sheet.getPhysicalNumberOfRows(); if (physicalNumberOfRows <= 0) return; Element table = htmlDocumentFacade.createTable(); htmlDocumentFacade.addStyleClass(table, cssClassPrefixTable, "border-collapse:collapse;border-spacing:0;"); Element tableBody = htmlDocumentFacade.createTableBody(); final CellRangeAddress[][] mergedRanges = ExcelToHtmlUtils.buildMergedRangesMap(sheet); final List<Element> emptyRowElements = new ArrayList<Element>(physicalNumberOfRows); int maxSheetColumns = 1; for (int r = sheet.getFirstRowNum(); r <= sheet.getLastRowNum(); r++) { HSSFRow row = sheet.getRow(r); if (row == null) continue; if (!isOutputHiddenRows() && row.getZeroHeight()) continue; Element tableRowElement = htmlDocumentFacade.createTableRow(); htmlDocumentFacade.addStyleClass(tableRowElement, cssClassPrefixRow, "height:" + (row.getHeight() / 20f) + "pt;"); int maxRowColumnNumber = processRow(mergedRanges, row, tableRowElement); if (maxRowColumnNumber == 0) { emptyRowElements.add(tableRowElement); } else { if (!emptyRowElements.isEmpty()) { for (Element emptyRowElement : emptyRowElements) { tableBody.appendChild(emptyRowElement); } emptyRowElements.clear(); } tableBody.appendChild(tableRowElement); } maxSheetColumns = Math.max(maxSheetColumns, maxRowColumnNumber); } processColumnWidths(sheet, maxSheetColumns, table); if (isOutputColumnHeaders()) { //processColumnHeaders( sheet, maxSheetColumns, table ); } table.appendChild(tableBody); htmlDocumentFacade.getBody().appendChild(table); }
From source file:com.wangzhu.poi.ExcelToHtmlConverter.java
License:Apache License
protected void processSheet(HSSFSheet sheet) { // this.processSheetHeader(this.htmlDocumentFacade.getBody(), sheet); final int physicalNumberOfRows = sheet.getPhysicalNumberOfRows(); if (physicalNumberOfRows <= 0) { return;//from ww w . j a v a 2s . c om } Element table = this.htmlDocumentFacade.createTable(); this.htmlDocumentFacade.addStyleClass(table, this.cssClassPrefixTable, "border-collapse:collapse;border-spacing:0;"); Element tableBody = this.htmlDocumentFacade.createTableBody(); final CellRangeAddress[][] mergedRanges = ExcelToHtmlUtils.buildMergedRangesMap(sheet); final List emptyRowElements = new ArrayList(physicalNumberOfRows); int maxSheetColumns = 1; for (int r = sheet.getFirstRowNum(); r <= sheet.getLastRowNum(); r++) { HSSFRow row = sheet.getRow(r); if (row == null) { continue; } if (!this.isOutputHiddenRows() && row.getZeroHeight()) { continue; } Element tableRowElement = this.htmlDocumentFacade.createTableRow(); this.htmlDocumentFacade.addStyleClass(tableRowElement, this.cssClassPrefixRow, "height:" + (row.getHeight() / 20f) + "pt;"); int maxRowColumnNumber = this.processRow(mergedRanges, row, tableRowElement); if (maxRowColumnNumber == 0) { emptyRowElements.add(tableRowElement); } else { if (!emptyRowElements.isEmpty()) { for (Iterator iterator = emptyRowElements.iterator(); iterator.hasNext();) { Element emptyRowElement = (Element) iterator.next(); tableBody.appendChild(emptyRowElement); } emptyRowElements.clear(); } tableBody.appendChild(tableRowElement); } maxSheetColumns = Math.max(maxSheetColumns, maxRowColumnNumber); } this.processColumnWidths(sheet, maxSheetColumns, table); if (this.isOutputColumnHeaders()) { this.processColumnHeaders(sheet, maxSheetColumns, table); } table.appendChild(tableBody); this.htmlDocumentFacade.getBody().appendChild(table); if (null != this.getExcelImageManager()) { table = this.htmlDocumentFacade.createTable(); this.htmlDocumentFacade.addStyleClass(table, this.cssClassPrefixTable, "border-collapse:collapse;border-spacing:0;"); tableBody = this.htmlDocumentFacade.createTableBody(); List<String> urlPaths = this.getExcelImageManager() .getImagePath(sheet.getDrawingPatriarch().getChildren()); if ((urlPaths != null) && (urlPaths.size() != 0)) { Document document = this.htmlDocumentFacade.getDocument(); for (int i = 0, size = urlPaths.size(); i < size; i++) { Element tableRowElement = this.htmlDocumentFacade.createTableRow(); String[] urlPathArr = urlPaths.get(i).split("@"); Element result = document.createElement("img"); result.setAttribute("src", urlPathArr[0]); String imageWidth = urlPathArr[1]; String imageHeight = urlPathArr[2]; result.setAttribute("style", "width:" + imageWidth + "in;height:" + imageHeight + "in;vertical-align:text-bottom;"); Element tableCellElement = this.htmlDocumentFacade.createTableCell(); tableCellElement.appendChild(result); tableRowElement.appendChild(tableCellElement); tableBody.appendChild(tableRowElement); } table.appendChild(tableBody); this.htmlDocumentFacade.getBody().appendChild(table); } } }