List of usage examples for org.apache.poi.xssf.streaming SXSSFWorkbook SXSSFWorkbook
public SXSSFWorkbook()
From source file:de.jpaw.bonaparte.poi.GenericExcelComposer.java
License:Apache License
public GenericExcelComposer(ExcelFormat fmt) { super(fmt == ExcelFormat.XLSX_STREAMING ? new SXSSFWorkbook() : fmt == ExcelFormat.XLSX ? new XSSFWorkbook() : new HSSFWorkbook()); this.fmt = fmt; }
From source file:de.ks.idnadrev.expimp.xls.XlsxExporter.java
License:Apache License
public XlsxExporter(ExecutorService executorService) { workbook = new SXSSFWorkbook(); workbook.setCompressTempFiles(true); this.executorService = executorService; provider = new ColumnProvider(CDI.current().select(DependencyGraph.class).get()); }
From source file:egovframework.rte.fdl.excel.EgovExcelSXSSFServiceTest.java
License:Apache License
/** * [Flow #-1] ? ? : ?? ?//from w w w . jav a 2 s . co m */ @Test public void testWriteExcelFile() throws Exception { try { log.debug("testWriteExcelFile start...."); String sheetName1 = "first sheet"; String sheetName2 = "second sheet"; StringBuffer sb = new StringBuffer(); sb.append(fileLocation).append("/").append("testWriteExcelFile.xlsx"); // delete file if (EgovFileUtil.isExistsFile(sb.toString())) { EgovFileUtil.delete(new File(sb.toString())); log.debug("Delete file...." + sb.toString()); } SXSSFWorkbook wb = new SXSSFWorkbook(); wb.createSheet(sheetName1); wb.createSheet(sheetName2); wb.createSheet(); // ? ? SXSSFWorkbook tmp = excelService.createSXSSFWorkbook(wb, sb.toString()); // ? ? assertTrue(EgovFileUtil.isExistsFile(sb.toString())); // ? Sheet ? ? assertEquals(sheetName1, tmp.getSheetName(0)); assertEquals(sheetName2, tmp.getSheetName(1)); } catch (Exception e) { log.error(e.toString()); throw new Exception(e); } finally { log.debug("testWriteExcelFile end...."); } }
From source file:egovframework.rte.fdl.excel.EgovExcelSXSSFServiceTest.java
License:Apache License
/** * [Flow #-3] ? ? : ?? ?(? ?, Border? ?, ? ?, )? *///from w w w . j a v a2 s. c o m @Test public void testWriteExcelFileAttribute() throws Exception { try { log.debug("testWriteExcelFileAttribute start...."); short rowheight = 40; int columnwidth = 30; StringBuffer sb = new StringBuffer(); sb.append(fileLocation).append("/").append("testWriteExcelFileAttribute.xlsx"); // delete file if (EgovFileUtil.isExistsFile(sb.toString())) { EgovFileUtil.delete(new File(sb.toString())); log.debug("Delete file...." + sb.toString()); } SXSSFWorkbook wb = new SXSSFWorkbook(); Sheet sheet1 = wb.createSheet("new sheet"); wb.createSheet("second sheet"); // ? ? sheet1.setDefaultRowHeight(rowheight); sheet1.setDefaultColumnWidth(columnwidth); Font f2 = wb.createFont(); CellStyle cs = wb.createCellStyle(); cs = wb.createCellStyle(); cs.setFont(f2); cs.setWrapText(true); // cs.setAlignment(HSSFCellStyle.ALIGN_RIGHT); cs.setFillPattern(HSSFCellStyle.DIAMONDS); // ? // ? ? cs.setFillForegroundColor(new HSSFColor.BLUE().getIndex()); // cs.setFillBackgroundColor(new HSSFColor.RED().getIndex()); // sheet1.setDefaultColumnStyle((short) 0, cs); Workbook tmp = excelService.createSXSSFWorkbook(wb, sb.toString()); Sheet sheetTmp1 = tmp.getSheetAt(0); assertEquals(rowheight, sheetTmp1.getDefaultRowHeight()); assertEquals(columnwidth, sheetTmp1.getDefaultColumnWidth()); CellStyle cs1 = tmp.getCellStyleAt((short) (tmp.getNumCellStyles() - 1)); log.debug("getAlignment : " + cs1.getAlignment()); assertEquals(HSSFCellStyle.ALIGN_RIGHT, cs1.getAlignment()); log.debug("getFillPattern : " + cs1.getFillPattern()); assertEquals(HSSFCellStyle.DIAMONDS, cs1.getFillPattern()); log.debug("getFillForegroundColor : " + cs1.getFillForegroundColor()); log.debug("getFillBackgroundColor : " + cs1.getFillBackgroundColor()); assertEquals(new HSSFColor.BLUE().getIndex(), cs1.getFillForegroundColor()); assertEquals(new HSSFColor.RED().getIndex(), cs1.getFillBackgroundColor()); } catch (Exception e) { log.error(e.toString()); throw new Exception(e); } finally { log.debug("testWriteExcelFileAttribute end...."); } }
From source file:eu.alpinweiss.filegen.service.impl.GenerateXlsxFileServiceImpl.java
License:Apache License
public void generateExcel(String excelFilename, int rowCount, List<FieldDefinition> fieldDefinitionList, int sheetCount) { long startTime = new Date().getTime(); outputWriterHolder.writeValueInLine("Excel data generation started"); Workbook wb = new SXSSFWorkbook(); try {//from w w w . jav a2 s.c om CellStyle cs = wb.createCellStyle(); cs.setFillForegroundColor(IndexedColors.LIME.getIndex()); cs.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND); Font f = wb.createFont(); f.setBoldweight(Font.BOLDWEIGHT_BOLD); f.setFontHeightInPoints((short) 12); cs.setFont(f); SXSSFSheet sheet1 = (SXSSFSheet) wb.createSheet("dataSheet"); int columnCount = fieldDefinitionList.size(); Map<Integer, Input2TableInfo> input2TableInfoMap = new LinkedHashMap<>(columnCount); for (int i = 0; i < columnCount; i++) { Input2TableInfo input2TableInfo = new Input2TableInfo(); FieldDefinition fieldDefinition = fieldDefinitionList.get(i); input2TableInfo.setFieldText(fieldDefinition.getFieldName()); input2TableInfo.setFieldDefinition(fieldDefinition); input2TableInfo.initCellStyle(wb); input2TableInfo.initGenerator(); input2TableInfoMap.put(i, input2TableInfo); } if (sheetCount > 1) { CountDownLatch startSignal = new CountDownLatch(1); CountDownLatch doneSignal; doneSignal = new CountDownLatch(sheetCount); ParameterVault parameterVault = new DefaultParameterVault(0, rowCount); SheetProcessor stringProcessorSheet1 = new SheetProcessor(parameterVault, startSignal, doneSignal, cs, sheet1, columnCount, input2TableInfoMap, outputWriterHolder); new Thread(stringProcessorSheet1, "Processor-" + sheetCount).start(); for (int i = 0; i < sheetCount - 1; i++) { SXSSFSheet sheet = (SXSSFSheet) wb.createSheet("dataSheet_" + i); ParameterVault parameterVaultRest = new DefaultParameterVault(i + 1, rowCount); SheetProcessor stringProcessor = new SheetProcessor(parameterVaultRest, startSignal, doneSignal, cs, sheet, columnCount, input2TableInfoMap, outputWriterHolder); new Thread(stringProcessor, "Processor-" + i).start(); } startSignal.countDown(); doneSignal.await(); } else { ParameterVault parameterVault = new DefaultParameterVault(0, rowCount); new SheetProcessor(outputWriterHolder).generateSheetData(parameterVault, cs, sheet1, columnCount, input2TableInfoMap); } outputWriterHolder.writeValueInLine("Excel data generation finished."); long generationTime = new Date().getTime(); outputWriterHolder.writeValueInLine("Time used " + ((generationTime - startTime) / 1000) + " sec"); outputWriterHolder.writeValueInLine("Writing to file."); FileOutputStream fileOut = new FileOutputStream(excelFilename.trim()); wb.write(fileOut); fileOut.close(); long writeTime = new Date().getTime(); outputWriterHolder.writeValueInLine("Time used " + ((writeTime - generationTime) / 1000) + " sec"); outputWriterHolder.writeValueInLine("Total time used " + ((writeTime - startTime) / 1000) + " sec"); outputWriterHolder.writeValueInLine("Done"); } catch (Exception e) { LOGGER.error(e.getMessage(), e); } finally { try { wb.close(); } catch (IOException e) { LOGGER.error(e.getMessage(), e); } } }
From source file:excelmasivo.ExcelMasivo.java
/** * @param args the command line arguments *///from w w w . j a v a 2 s .c om public static void main(String[] args) { String driver = "oracle.jdbc.OracleDriver"; String user = "DRKL"; String pass = "DRKL"; String url = "jdbc:oracle:thin:@localhost:1521:XE"; String query = "SELECT * FROM PRODUCTOS ORDER BY TO_NUMBER(SUBSTR(CODIGO_PRODUCTO,7))"; Connection con; Statement st; ResultSet rs; ResultSetMetaData rsm; SXSSFWorkbook libro = new SXSSFWorkbook(); SXSSFSheet hoja = libro.createSheet("Reporte"); SXSSFRow fila; SXSSFCell celda; FileOutputStream out; int x = 0; CellStyle cs = libro.createCellStyle(); cs.getFillForegroundColor(); Font f = libro.createFont(); //f.setBoldweight(Font.BOLDWEIGHT_BOLD); f.setFontHeightInPoints((short) 12); cs.setFont(f); try { Class.forName(driver); con = DriverManager.getConnection(url, user, pass); st = con.createStatement(); rs = st.executeQuery(query); rsm = rs.getMetaData(); while (rs.next()) { //crear la fila fila = hoja.createRow(x++); for (int i = 1; i <= rsm.getColumnCount(); i++) { //recorrer las columnas celda = fila.createCell(i); celda.setCellStyle(cs); celda.setCellValue(rs.getString(i)); //System.out.print(rs.getString(i)); } //System.out.println(); if (x % 50000 == 0) { System.out.println("Se procesaron:" + x); } } out = new FileOutputStream(new File("D:\\java\\Productos_" + GregorianCalendar.MILLISECOND + ".xlsx")); libro.write(out); out.close(); System.out.println("Archivo generado con exito"); } catch (ClassNotFoundException | SQLException | FileNotFoundException ex) { Logger.getLogger(ExcelMasivo.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(ExcelMasivo.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:exporter.ExcelExporter.java
public static void writeXlsx(OutputStream outputStream, String dbResource, String queryString, String... args) throws NamingException { Context initContext = null;// ww w . j a v a2 s. com try { initContext = new InitialContext(); } catch (NamingException ex) { Logger.getLogger(ExcelExporter.class.getName()).log(Level.SEVERE, null, ex); } Context envContext = (Context) initContext.lookup("java:/comp/env/"); DataSource datasource = (DataSource) envContext.lookup(dbResource); try { PreparedStatement ps = datasource.getConnection().prepareStatement(queryString); ResultSet rSet = ps.executeQuery(); ResultSetMetaData rsMetaData = rSet.getMetaData(); int columnCount = rsMetaData.getColumnCount(); SXSSFWorkbook workBook = new SXSSFWorkbook(); SXSSFSheet sheet = (SXSSFSheet) workBook.createSheet("cics"); String currentLine = null; int rowNum = 0; int types[] = new int[columnCount]; Row intestazione = sheet.createRow(rowNum); for (int i = 0; i < columnCount; i++) { intestazione.createCell(i).setCellValue(rsMetaData.getColumnLabel(i + 1)); types[i] = rsMetaData.getColumnType(i + 1); } rowNum++; while (rSet.next()) { rowNum++; Row currentRow = sheet.createRow(rowNum); for (int k = 0; k < columnCount; k++) { switch (types[k]) { case Types.INTEGER: currentRow.createCell(k).setCellValue(rSet.getInt(k + 1)); break; case Types.FLOAT: currentRow.createCell(k).setCellValue(rSet.getFloat(k + 1)); break; case Types.BIGINT: currentRow.createCell(k).setCellValue(rSet.getInt(k + 1)); break; case Types.DOUBLE: currentRow.createCell(k).setCellValue(rSet.getDouble(k + 1)); break; case Types.DATE: currentRow.createCell(k).setCellValue(rSet.getDate(k + 1)); break; case Types.TIMESTAMP: currentRow.createCell(k).setCellValue(rSet.getTimestamp(k + 1)); break; default: currentRow.createCell(k).setCellValue(rSet.getString(k + 1)); break; } currentRow.createCell(k).setCellValue(rSet.getString(k + 1)); } } try { workBook.write(outputStream); } catch (IOException ex) { Logger.getLogger(ExcelExporter.class.getName()).log(Level.SEVERE, null, ex); } } catch (SQLException ex) { Logger.getLogger(ExcelExporter.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:exporter.XlsxExporter.java
public static void writeXLSX(OutputStream outputStream, String resourceDbPath, String queryString, String... args) {//from w ww. j av a 2s. c om try { ResourceBundle rb = ResourceBundle.getBundle(resourceDbPath); Class.forName(rb.getString("driver")); Connection conn = DriverManager.getConnection(rb.getString("url"), rb.getString("user"), rb.getString("password")); PreparedStatement pStatement = conn.prepareStatement(queryString, java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY); int paramCount = 1; for (String arg : args) { pStatement.setString(paramCount++, arg); } ResultSet rSet = pStatement.executeQuery(); ResultSetMetaData rsMetaData = rSet.getMetaData(); int columnCount = rsMetaData.getColumnCount(); SXSSFWorkbook workBook = new SXSSFWorkbook(); SXSSFSheet sheet = (SXSSFSheet) workBook.createSheet("cics"); String currentLine = null; int rowNum = 0; int types[] = new int[columnCount]; Row intestazione = sheet.createRow(rowNum); for (int i = 0; i < columnCount; i++) { intestazione.createCell(i).setCellValue(rsMetaData.getColumnLabel(i + 1)); types[i] = rsMetaData.getColumnType(i + 1); } rowNum++; while (rSet.next()) { rowNum++; Row currentRow = sheet.createRow(rowNum); for (int k = 0; k < columnCount; k++) { switch (types[k]) { case Types.INTEGER: currentRow.createCell(k).setCellValue(rSet.getInt(k + 1)); break; case Types.FLOAT: currentRow.createCell(k).setCellValue(rSet.getFloat(k + 1)); break; case Types.BIGINT: currentRow.createCell(k).setCellValue(rSet.getInt(k + 1)); break; case Types.DOUBLE: currentRow.createCell(k).setCellValue(rSet.getDouble(k + 1)); break; case Types.DATE: currentRow.createCell(k).setCellValue(rSet.getDate(k + 1)); break; case Types.TIMESTAMP: currentRow.createCell(k).setCellValue(rSet.getTimestamp(k + 1)); break; default: currentRow.createCell(k).setCellValue(rSet.getString(k + 1)); break; } currentRow.createCell(k).setCellValue(rSet.getString(k + 1)); } } rSet.close(); pStatement.close(); conn.close(); workBook.write(outputStream); System.out.println("Done"); } catch (ClassNotFoundException ex) { System.out.println(ex.getMessage() + "Exception in try"); } catch (SQLException ex) { System.out.println(ex.getMessage() + "Exception in try"); } catch (IOException ex) { System.out.println(ex.getMessage() + "Exception in try"); } }
From source file:info.informationsea.java.excel2csv.Converter.java
License:Open Source License
private void doConvertAllSheets(List<File> inputFiles, File outputFile) throws Exception { Workbook workbook;/*from w ww. j a va2s . com*/ if (outputFile.isFile() && outputFile.length() > 512) { switch (Utilities.suggestFileTypeFromName(outputFile.getName())) { case FILETYPE_XLS: case FILETYPE_XLSX: workbook = WorkbookFactory.create(outputFile); break; default: throw new IllegalArgumentException("Output file format should be Excel format"); } } else { switch (Utilities.suggestFileTypeFromName(outputFile.getName())) { case FILETYPE_XLS: workbook = new HSSFWorkbook(); break; case FILETYPE_XLSX: if (largeExcelMode) workbook = new SXSSFWorkbook(); else workbook = new XSSFWorkbook(); break; default: throw new IllegalArgumentException("Output file format should be Excel format"); } } if (largeExcelMode && !(workbook instanceof SXSSFWorkbook)) { log.warn("Streaming output mode is disabled"); } //log.info("workbook: {}", workbook.getClass()); for (File oneInput : inputFiles) { switch (Utilities.suggestFileTypeFromName(oneInput.getName())) { case FILETYPE_XLSX: case FILETYPE_XLS: { Workbook inputWorkbook = WorkbookFactory.create(oneInput); int sheetNum = inputWorkbook.getNumberOfSheets(); for (int i = 0; i < sheetNum; i++) { try (TableReader reader = new ExcelSheetReader(inputWorkbook.getSheetAt(i))) { ExcelSheetWriter sheetWriter = new ExcelSheetWriter( Utilities.createUniqueNameSheetForWorkbook(workbook, inputWorkbook.getSheetName(i), overwriteSheet)); sheetWriter.setPrettyTable(prettyTable); try (TableWriter tableWriter = new FilteredWriter(sheetWriter, convertCellTypes, fistCount)) { Utilities.copyTable(reader, tableWriter, useHeader); } } } break; } default: { try (TableReader reader = Utilities.openReader(oneInput, inputSheetIndex, inputSheetName)) { ExcelSheetWriter sheetWriter = new ExcelSheetWriter(Utilities .createUniqueNameSheetForWorkbook(workbook, oneInput.getName(), overwriteSheet)); sheetWriter.setPrettyTable(prettyTable); try (TableWriter tableWriter = new FilteredWriter(sheetWriter, convertCellTypes, fistCount)) { Utilities.copyTable(reader, tableWriter, useHeader); } } break; } } } workbook.write(new FileOutputStream(outputFile)); }
From source file:info.informationsea.java.excel2csv.Utilities.java
License:Open Source License
public static TableWriter openWriter(final File outputFile, String sheetName, boolean overWrite, boolean enablePretty, boolean largeExcelMode) throws IOException { if (outputFile == null) { return new TableCSVWriter(new OutputStreamWriter(System.out), new TabDelimitedFormat()); } else {/*from w ww .ja va2s . com*/ FileType type = suggestFileTypeFromName(outputFile.getName()); switch (type) { case FILETYPE_XLS: case FILETYPE_XLSX: { final Workbook workbook; if (outputFile.exists() && outputFile.length() > 512) { if (type == FileType.FILETYPE_XLSX) workbook = new XSSFWorkbook(new FileInputStream(outputFile)); else workbook = new HSSFWorkbook(new FileInputStream(outputFile)); } else { if (type == FileType.FILETYPE_XLSX) { if (largeExcelMode) workbook = new SXSSFWorkbook(); else workbook = new XSSFWorkbook(); } else { workbook = new HSSFWorkbook(); } } //log.info("workbook: {}", workbook.getClass()); if (largeExcelMode && !(workbook instanceof SXSSFWorkbook)) { log.warn("Streaming output mode is disabled"); } Sheet sheet = createUniqueNameSheetForWorkbook(workbook, sheetName, overWrite); final ExcelSheetWriter excelSheetWriter = new ExcelSheetWriter(sheet); excelSheetWriter.setPrettyTable(enablePretty); return new AbstractTableWriter() { @Override public void printRecord(Object... values) throws Exception { for (int i = 0; i < values.length; i++) { if (values[i] == null) values[i] = ""; } excelSheetWriter.printRecord(values); } @Override public void close() throws Exception { excelSheetWriter.close(); try (OutputStream os = new FileOutputStream(outputFile)) { workbook.write(os); } } }; } case FILETYPE_CSV: return new TableCSVWriter(new FileWriter(outputFile)); case FILETYPE_TAB: default: return new TableCSVWriter(new FileWriter(outputFile), new TabDelimitedFormat()); } } }