List of usage examples for org.apache.poi.xssf.streaming SXSSFWorkbook SXSSFWorkbook
public SXSSFWorkbook()
From source file:com.globalsight.everest.webapp.pagehandler.administration.reports.VendorPOXlsReport.java
License:Apache License
/** * Generates the Excel report as a temp file and returns the temp file. * //w w w .j av a 2 s. c o m * @return File * @exception Exception */ private void generateReport(HttpServletRequest p_request, HttpServletResponse p_response, MyData p_data) throws Exception { bundle = PageHandler.getBundle(p_request.getSession()); String EMEA = CompanyWrapper.getCurrentCompanyName(); s_logger.debug("generateReport---, company name: " + EMEA); Workbook p_workbook = new SXSSFWorkbook(); boolean recalculateFinishedWorkflow = false; String recalcParam = p_request.getParameter("recalc"); if (recalcParam != null && recalcParam.length() > 0) { recalculateFinishedWorkflow = java.lang.Boolean.valueOf(recalcParam).booleanValue(); } // get all the jobs that were originally imported with the wrong project // the users want to pretend that these jobs are in this project getJobsInWrongProject(p_data); HashMap projectMap = getProjectData(p_request, p_response, recalculateFinishedWorkflow, p_data); if (projectMap != null) { p_data.dellSheet = p_workbook.createSheet(EMEA + " " + bundle.getString("lb_matches")); p_data.tradosSheet = p_workbook.createSheet(bundle.getString("jobinfo.tradosmatches")); addTitle(p_workbook, p_data.dellSheet); addHeaderForDellMatches(p_workbook, p_data); addTitle(p_workbook, p_data.tradosSheet); addHeaderForTradosMatches(p_workbook, p_data); IntHolder row = new IntHolder(4); writeProjectDataForDellMatches(p_workbook, projectMap, row, p_data); row = new IntHolder(4); writeProjectDataForTradosMatches(p_workbook, projectMap, row, p_data); Sheet paramsSheet = p_workbook.createSheet(bundle.getString("lb_criteria")); writeParamsSheet(p_workbook, paramsSheet, p_data, p_request); ServletOutputStream out = p_response.getOutputStream(); p_workbook.write(out); out.close(); ((SXSSFWorkbook) p_workbook).dispose(); // Set ReportsData. ReportHelper.setReportsData(userId, m_jobIDS, getReportType(), 100, ReportsData.STATUS_FINISHED); } }
From source file:com.gtwm.pb.servlets.ReportDownloader.java
License:Open Source License
/** * Return the session report as an Excel file * //from w w w.j a v a2 s . com * @param sessionData * @return */ private ByteArrayOutputStream getSessionReportAsExcel(CompanyInfo company, AppUserInfo user, SessionDataInfo sessionData) throws AgileBaseException, IOException, SQLException { BaseReportInfo report = sessionData.getReport(); if (report == null) { throw new ObjectNotFoundException("No report found in the session"); } // create Excel spreadsheet Workbook workbook = new SXSSFWorkbook(); // the pane 2 report String reportName = report.getReportName(); // Replace any invalid characters : \ / ? * [ or ] // http://support.microsoft.com/kb/215205 reportName = reportName.replaceAll("[\\/\\:\\\\\\?\\*\\[\\]]", "-"); Sheet reportSheet; try { reportSheet = workbook.createSheet(reportName); } catch (IllegalArgumentException iaex) { reportSheet = workbook.createSheet(reportName + " " + report.getInternalReportName()); } int rowNum = 0; // header CellStyle boldCellStyle = workbook.createCellStyle(); Font font = workbook.createFont(); font.setBoldweight(Font.BOLDWEIGHT_BOLD); boldCellStyle.setFont(font); Row row = reportSheet.createRow(rowNum); int columnNum = 0; Set<ReportFieldInfo> reportFields = report.getReportFields(); for (ReportFieldInfo reportField : reportFields) { Cell cell = row.createCell(columnNum); cell.setCellValue(reportField.getFieldName()); cell.setCellStyle(boldCellStyle); BaseField field = reportField.getBaseField(); if (field.equals(field.getTableContainingField().getPrimaryKey())) { reportSheet.setColumnHidden(columnNum, true); } columnNum++; } // data rowNum++; DataManagementInfo dataManagement = this.databaseDefn.getDataManagement(); List<DataRowInfo> reportDataRows = dataManagement.getReportDataRows(company, report, sessionData.getReportFilterValues(), false, sessionData.getReportSorts(), -1, QuickFilterType.AND, false); String fieldValue = ""; boolean defaultReport = (report.equals(report.getParentTable().getDefaultReport())); for (DataRowInfo dataRow : reportDataRows) { Map<BaseField, DataRowFieldInfo> dataRowFieldMap = dataRow.getDataRowFields(); row = reportSheet.createRow(rowNum); columnNum = 0; for (ReportFieldInfo reportField : reportFields) { BaseField field = reportField.getBaseField(); if (field instanceof TextField) { fieldValue = dataRowFieldMap.get(field).getKeyValue(); } else { fieldValue = dataRowFieldMap.get(field).getDisplayValue(); } if (!fieldValue.equals("")) { Cell cell; DatabaseFieldType dbFieldType = field.getDbType(); if ((defaultReport) && (field instanceof RelationField)) { dbFieldType = ((RelationField) field).getDisplayField().getDbType(); } switch (dbFieldType) { case FLOAT: cell = row.createCell(columnNum, Cell.CELL_TYPE_NUMERIC); try { cell.setCellValue(Double.valueOf(fieldValue.replace(",", ""))); } catch (NumberFormatException nfex) { // Fall back to a string representation cell = row.createCell(columnNum, Cell.CELL_TYPE_STRING); cell.setCellValue(fieldValue); } break; case INTEGER: case SERIAL: cell = row.createCell(columnNum, Cell.CELL_TYPE_NUMERIC); try { cell.setCellValue(Integer.valueOf(fieldValue.replace(",", ""))); } catch (NumberFormatException nfex) { logger.debug(nfex.toString() + ": value " + fieldValue.replace(",", "")); // Fall back to a string representation cell = row.createCell(columnNum, Cell.CELL_TYPE_STRING); cell.setCellValue(fieldValue); logger.debug("Successfully set string instead"); } break; case VARCHAR: default: cell = row.createCell(columnNum, Cell.CELL_TYPE_STRING); cell.setCellValue(Helpers.unencodeHtml(fieldValue)); break; } } columnNum++; } rowNum++; } // Export info worksheet addReportMetaDataWorksheet(company, user, sessionData, report, workbook); // one worksheet for each of the report summaries for (ChartInfo savedChart : report.getSavedCharts()) { this.addSummaryWorksheet(company, sessionData, savedChart, workbook); } // the default summary ChartInfo reportSummary = report.getChart(); Set<ChartAggregateInfo> aggregateFunctions = reportSummary.getAggregateFunctions(); Set<ChartGroupingInfo> groupings = reportSummary.getGroupings(); if ((groupings.size() > 0) || (aggregateFunctions.size() > 0)) { this.addSummaryWorksheet(company, sessionData, reportSummary, workbook); } // write to output ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); workbook.write(outputStream); return outputStream; }
From source file:com.hauldata.dbpa.file.book.XlsxTargetBook.java
License:Apache License
@Override public void create() throws IOException { out = new FileOutputStream(getName()); book = new SXSSFWorkbook(); cellStyles = new CellStyle[XlsxCellStyle.values().length]; createCellStyle(XlsxCellStyle.DATE, dateFormatString); createCellStyle(XlsxCellStyle.DATETIME, datetimeFormatString); createCellStyle(XlsxCellStyle.INTEGER, integerFormatString); createCellStyle(XlsxCellStyle.BIG_INTEGER, bigIntegerFormatString); createCellStyle(XlsxCellStyle.TWO_DECIMAL, twoDecimalFormatString); createCellStyle(XlsxCellStyle.BIG_TWO_DECIMAL, bigTwoDecimalFormatString); createCellStyle(XlsxCellStyle.TWO_DECIMAL_ONLY, twoDecimalOnlyFormatString); createCellStyle(XlsxCellStyle.FOUR_DECIMAL, fourDecimalFormatString); createCellStyle(XlsxCellStyle.BIG_FOUR_DECIMAL, bigFourDecimalFormatString); createCellStyle(XlsxCellStyle.FOUR_DECIMAL_ONLY, fourDecimalOnlyFormatString); createCellStyle(XlsxCellStyle.OTHER_DECIMAL, otherDecimalFormatString); createCellStyle(XlsxCellStyle.BIG_OTHER_DECIMAL, bigOtherDecimalFormatString); createCellStyle(XlsxCellStyle.OTHER_DECIMAL_ONLY, otherDecimalOnlyFormatString); }
From source file:com.jkoolcloud.tnt4j.streams.inputs.ExcelSXSSFRowStream.java
License:Apache License
/** * Reads XSSF (XLXS) format excel file using Apache POI streaming SXSSF API. * * @param xlsxFile// ww w. jav a 2s. com * excel XSSF format file to read * * @throws IOException * if excel file or workbook can't be read * @throws SAXException * if file contained XML reading fails * @throws OpenXML4JException * if file contained XML reading fails */ protected void readXLXS(File xlsxFile) throws IOException, SAXException, OpenXML4JException { try (OPCPackage xlsxPackage = OPCPackage.open(xlsxFile, PackageAccess.READ)) { ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(xlsxPackage); XSSFReader xssfReader = new XSSFReader(xlsxPackage); StylesTable styles = xssfReader.getStylesTable(); XSSFReader.SheetIterator sIter = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); while (sIter.hasNext()) { try (InputStream sStream = sIter.next()) { String sheetName = sIter.getSheetName(); boolean match = sheetNameMatcher == null || sheetNameMatcher.matcher(sheetName).matches(); if (!match) { continue; } SXSSFSheet sheet = new SXSSFSheet(new SXSSFWorkbook(), null); processSXSSFSheet(styles, strings, new XLSXSheetContentHandler(this, sheet), sStream); } } } }
From source file:com.plugin.excel.util.ExcelFileHelper.java
License:Apache License
public static void writeFile(String directory, String fileName, Map<String, List<List<ExcelCell>>> sheets, int headerRowHeight, int commentRowHeight) { if (StringUtils.isNotBlank(directory) && StringUtils.isNotBlank(fileName) && sheets != null && !sheets.isEmpty()) { SXSSFWorkbook workbook = new SXSSFWorkbook(); Font invisibleFont = workbook.createFont(); for (Entry<String, List<List<ExcelCell>>> entry : sheets.entrySet()) { // TODO: remove and logging // log.info("writeFile","Started writing sheet: "+entry.getKey()); SXSSFSheet sheet = (SXSSFSheet) workbook.createSheet(entry.getKey()); int totalColumn = 0; if (entry.getValue() != null && !entry.getValue().isEmpty()) { int rowNumber = 0; Font dataFont = null; for (List<ExcelCell> rows : entry.getValue()) { // Row row = sheet.getRow(rowNumber)!=null ? sheet.getRow(rowNumber) : rowMap.get(rowNumber); Row row = sheet.createRow(rowNumber); int rowHeight = rowNumber == 0 ? headerRowHeight : commentRowHeight; if (rowNumber == 0 || rowNumber == 1) { if (rowHeight > 0) { row.setHeight((short) rowHeight); }//from www .j ava 2 s .c o m addDataValidation(rowNumber, sheet); } rowNumber++; if (rows != null && !rows.isEmpty()) { int cellNum = 0; Font font = null; if (rowNumber > 3 && dataFont != null) { font = dataFont; } else { font = workbook.createFont(); dataFont = font; } // as each row requires different syle with separate font Map<IndexedColors, CellStyle> s_cellStyle = new HashMap<IndexedColors, CellStyle>(); for (ExcelCell cellValue : rows) { Cell cell = row.createCell(cellNum); updateCell(cell, cellValue, s_cellStyle, workbook, font, invisibleFont); ++cellNum; } totalColumn = cellNum; } if (rowNumber == 2) {/* * auto size after DOCUMENTATION-ROW (row=2) so, we don't have to do * multiple times */ autoSize(sheet, totalColumn, false); // rowMap = createRows(workbook, sheet, rowNumber+1, excelConfig.getMaxInputRows()); } } } autoSize(sheet, totalColumn, true); } // addMetaSheet(workbook); writeWorkBook(directory, fileName, workbook); } }
From source file:com.qihang.winter.poi.excel.ExcelExportUtil.java
License:Apache License
/** * @param entity/* w w w.ja v a 2 s . co m*/ * * @param pojoClass * ExcelClass * @param dataSet * Excel?List */ public static Workbook exportExcel(ExportParams entity, Class<?> pojoClass, Collection<?> dataSet) { Workbook workbook; if (com.qihang.winter.poi.excel.entity.enmus.ExcelType.HSSF.equals(entity.getType())) { workbook = new HSSFWorkbook(); } else if (dataSet.size() < 1000) { workbook = new XSSFWorkbook(); } else { workbook = new SXSSFWorkbook(); } new com.qihang.winter.poi.excel.export.ExcelExportServer().createSheet(workbook, entity, pojoClass, dataSet); return workbook; }
From source file:com.qihang.winter.poi.excel.ExcelExportUtil.java
License:Apache License
/** * ?MapExcel//from w w w. j av a2 s . c o m * @param entity * * @param pojoClass * ExcelClass * @param dataSet * Excel?List */ public static Workbook exportExcel(ExportParams entity, List<com.qihang.winter.poi.excel.entity.params.ExcelExportEntity> entityList, Collection<? extends Map<?, ?>> dataSet) { Workbook workbook; if (com.qihang.winter.poi.excel.entity.enmus.ExcelType.HSSF.equals(entity.getType())) { workbook = new HSSFWorkbook(); } else if (dataSet.size() < 1000) { workbook = new XSSFWorkbook(); } else { workbook = new SXSSFWorkbook(); } new com.qihang.winter.poi.excel.export.ExcelExportServer().createSheetForMap(workbook, entity, entityList, dataSet); return workbook; }
From source file:com.romeikat.datamessie.core.base.util.ExcelSheet.java
License:Open Source License
public ExcelSheet(final String sheetname) { this(new SXSSFWorkbook(), sheetname); }
From source file:com.runwaysdk.dataaccess.io.excel.ExcelUtil.java
License:Open Source License
public static Workbook createWorkbook(Workbook workbook) throws IOException { if (workbook instanceof XSSFWorkbook) { return new XSSFWorkbook(); } else if (workbook instanceof SXSSFWorkbook) { return new SXSSFWorkbook(); } else if (workbook instanceof HSSFWorkbook) { return new HSSFWorkbook(); }//from w w w. j av a 2 s . c o m throw new FileReadException("Unknown workbook type [" + workbook.getClass().getSimpleName() + "]", null); }
From source file:de.jpaw.bonaparte.poi.ExcelSXComposer.java
License:Apache License
public ExcelSXComposer() { super(new SXSSFWorkbook()); }