List of usage examples for org.apache.poi.ss.usermodel Workbook getSheet
Sheet getSheet(String name);
From source file:com.dataart.spreadsheetanalytics.engine.DataModelConverters.java
License:Apache License
/** Convertes plain {@link IDataModel} to new {@link XSSFWorkbook} with formatting provided. */ static Workbook toWorkbook(final IDataModel dataModel, final Workbook formatting) { Workbook result = formatting == null ? ConverterUtils.newWorkbook() : ConverterUtils.clearContent(formatting); Sheet wbSheet = result.getSheet(dataModel.getName()); if (wbSheet == null) { wbSheet = result.createSheet(dataModel.getName()); }// w w w. ja v a 2 s. c o m dataModel.getNamedAddresses().forEach((k, v) -> { Name name = result.createName(); name.setNameName(k); name.setRefersToFormula(createPoiNameRef(v.address(), dataModel.getName())); }); dataModel.getNamedValues().forEach((k, v) -> { Name name = result.createName(); name.setNameName(k); String refString = v.get() == null ? "" : v.get().toString(); if (refString.startsWith(FORMULA_PREFIX)) { refString = refString.substring(1); } name.setRefersToFormula(refString); }); for (int rowIdx = dataModel.getFirstRowIndex(); rowIdx <= dataModel.getLastRowIndex(); rowIdx++) { IDmRow dmRow = dataModel.getRow(rowIdx); if (dmRow == null) { continue; } Row wbRow = wbSheet.getRow(rowIdx); if (wbRow == null) { wbRow = wbSheet.createRow(rowIdx); } for (int cellIdx = dmRow.getFirstColumnIndex(); cellIdx <= dmRow.getLastColumnIndex(); cellIdx++) { IDmCell dmCell = dmRow.getCell(cellIdx); if (dmCell == null) { continue; } Cell wbCell = wbRow.getCell(cellIdx); if (wbCell == null) { wbCell = wbRow.createCell(cellIdx); } ConverterUtils.populateCellValue(wbCell, dmCell.getContent()); } } return result; }
From source file:com.dickimawbooks.datatooltk.io.DatatoolExcel.java
License:Open Source License
public DatatoolDb importData(File file) throws DatatoolImportException { DatatoolDb db = new DatatoolDb(settings); try {/*from www. j av a2s .co m*/ if (!file.exists()) { throw new IOException(DatatoolTk.getLabelWithValue("error.io.file_not_found", "" + file)); } if (file.getName().toLowerCase().endsWith(".xlsx")) { throw new IOException(DatatoolTk.getLabel("error.xlsx_not_supported")); } Workbook workBook = WorkbookFactory.create(file); Sheet sheet; String sheetRef = settings.getSheetRef(); int sheetIdx = 0; String sheetName = null; try { sheetIdx = Integer.parseInt(sheetRef); } catch (NumberFormatException e) { sheetName = sheetRef; } if (sheetName == null) { sheet = workBook.getSheetAt(sheetIdx); db.setName(sheet.getSheetName()); } else { sheet = workBook.getSheet(sheetName); db.setName(sheetName); } Iterator<Row> rowIter = sheet.rowIterator(); int rowIdx = 0; if (!rowIter.hasNext()) { return db; } Row row = rowIter.next(); if (settings.hasCSVHeader()) { // First row is header boolean empty = true; while (empty) { for (Cell cell : row) { DatatoolHeader header = new DatatoolHeader(db, cell.toString()); db.addColumn(header); empty = false; } if (empty) { if (!rowIter.hasNext()) { return db; } row = rowIter.next(); } } } else { // First row of data int cellIdx = 0; for (Cell cell : row) { DatatoolHeader header = new DatatoolHeader(db, DatatoolTk.getLabelWithValue("default.field", (cellIdx + 1))); db.addColumn(header); db.addCell(rowIdx, cellIdx, getCellValue(cell)); cellIdx++; } if (cellIdx > 0) { rowIdx++; } } while (rowIter.hasNext()) { row = rowIter.next(); int cellIdx = 0; for (Cell cell : row) { db.addCell(rowIdx, cellIdx, getCellValue(cell)); cellIdx++; } if (cellIdx > 0) { rowIdx++; } } } catch (Exception e) { throw new DatatoolImportException(DatatoolTk.getLabelWithValue("error.import.failed", file.toString()), e); } return db; }
From source file:com.dituiba.excel.DefaultValidateAdapter.java
License:Apache License
/** * ??// w w w . j a v a2 s . co m * @param config * @param sheet * @param columnIndex * @param valueSet */ protected void createDicCodeSheet(DicValidateConfig config, Sheet sheet, int columnIndex, Set<String> valueSet) { Workbook workbook = sheet.getWorkbook(); Sheet codeSheet = workbook.getSheet(DICCODE_SHEET_NAME); if (codeSheet == null) { log.debug("?Sheet?Sheet"); codeSheet = workbook.createSheet(DICCODE_SHEET_NAME); } int codeIndex = config.columnName() - 'A'; log.debug("codeIndex{}", codeIndex); if (codeSheet.getRow(0) == null || codeSheet.getRow(0).getCell(codeIndex) == null) { log.debug("????"); int i = 0; for (String dic : valueSet) { Row row = codeSheet.getRow(i); if (row == null) row = codeSheet.createRow(i); Cell cell = row.createCell(codeIndex); cell.setCellValue(dic); i++; } } else { log.debug("????"); } Name name = workbook.getName(config.columnName() + ""); if (name == null || name.isDeleted()) { log.debug("?Name?Name"); name = workbook.createName(); name.setNameName(config.columnName() + ""); } name.setRefersToFormula(DICCODE_SHEET_NAME + "!$" + config.columnName() + "$1:$" + config.columnName() + "$" + valueSet.size()); DVConstraint constraint = DVConstraint.createFormulaListConstraint(name.getNameName()); CellRangeAddressList addressList = new CellRangeAddressList(BaseExcelService.START_ROW, Short.MAX_VALUE, columnIndex, columnIndex); HSSFDataValidation validation = new HSSFDataValidation(addressList, constraint); workbook.setSheetHidden(workbook.getSheetIndex(DICCODE_SHEET_NAME), Workbook.SHEET_STATE_VERY_HIDDEN); setValidationTip(validation, config); sheet.addValidationData(validation); log.debug("??"); }
From source file:com.github.camaral.sheeco.Sheeco.java
License:Apache License
private <T> Sheet getSheet(final String sheetName, final Workbook wb) throws AssertionError { final Sheet sheet = wb.getSheet(sheetName); if (sheet == null) { throw new SpreasheetUnmarshallingUnrecoverableException( "Spreadsheet does not contain a sheet named with \"" + sheetName + "\""); }//from w w w . j a v a 2s . c om return sheet; }
From source file:com.github.camaral.sheeco.SheecoTest.java
License:Apache License
private void assertCatHeaders(Workbook wb) { Sheet sheet = wb.getSheet("Cat"); Assert.assertNotNull(sheet, "Sheet must be created"); Row row = sheet.getRow(0);/* w ww . j a va2 s. co m*/ Assert.assertNotNull(sheet, "Header row must be created"); assertHeader(row.getCell(0), "name"); assertHeader(row.getCell(1), "Male?"); assertHeader(row.getCell(2), "Birth date"); assertHeader(row.getCell(3), "hairLength"); assertHeader(row.getCell(4), "hairColor"); assertHeader(row.getCell(5), "hairLength"); assertHeader(row.getCell(6), "hairColor"); }
From source file:com.globalsight.everest.edit.offline.upload.UploadApi.java
License:Apache License
private String loadReportData(File p_tempFile, String p_fileName, long p_taskId, String p_reportName) { if (cancel)// w ww.ja v a 2 s . c o m return null; File tmpFile = null; FileInputStream fis = null; try { m_errWriter.setFileName(p_fileName); if (StringUtil.isEmpty(p_fileName)) { m_errWriter.addFileErrorMsg( "The file name is empty. Please make sure it is correct and upload again."); return m_errWriter.buildReportErroPage().toString(); } if (!ExcelUtil.isExcel(p_fileName)) { m_errWriter .addFileErrorMsg("The file you are trying to upload is not an excel (xls or xlsx format)." + "\r\nPlease make sure it is correct and upload again."); return m_errWriter.buildReportErroPage().toString(); } String fileSuff = p_fileName.substring(p_fileName.lastIndexOf(".")); /** * Create a temporary file to get data from excel */ tmpFile = File.createTempFile("RI_", fileSuff); FileUtils.copyFile(p_tempFile, tmpFile); fis = new FileInputStream(tmpFile); Task task = ServerProxy.getTaskManager().getTask(p_taskId); Workbook workbook = ExcelUtil.getWorkbook(tmpFile.getAbsolutePath(), fis); Sheet sheet = null; if (WebAppConstants.LANGUAGE_SIGN_OFF.equals(p_reportName)) { String sheetName = task.getTargetLocale().toString(); sheet = workbook.getSheet(sheetName); } if (sheet == null) sheet = ExcelUtil.getDefaultSheet(workbook); if (sheet == null) { m_errWriter.addFileErrorMsg("No Sheet detected."); return m_errWriter.buildReportErroPage().toString(); } ResourceBundle bundle = SystemResourceBundle.getInstance() .getResourceBundle(ResourceBundleConstants.LOCALE_RESOURCE_NAME, Locale.US); int languageInfoRow = ImplementedCommentsCheckReportGenerator.LANGUAGE_INFO_ROW; int segmentHeaderRow = ImplementedCommentsCheckReportGenerator.SEGMENT_HEADER_ROW; int segmentStartRow = ImplementedCommentsCheckReportGenerator.SEGMENT_START_ROW; if (p_reportName.equals(WebAppConstants.LANGUAGE_SIGN_OFF)) { languageInfoRow = ReviewersCommentsReportGenerator.LANGUAGE_INFO_ROW; segmentHeaderRow = ReviewersCommentsReportGenerator.SEGMENT_HEADER_ROW; segmentStartRow = ReviewersCommentsReportGenerator.SEGMENT_START_ROW; } String targetLanguage = sheet.getRow(languageInfoRow).getCell(1).toString(); if (StringUtil.isEmpty(targetLanguage)) { m_errWriter.addFileErrorMsg("No language information detected."); return m_errWriter.buildReportErroPage().toString(); } else if (targetLanguage.indexOf('[') < 0 || targetLanguage.indexOf(']') < 0) { m_errWriter.addFileErrorMsg("Target language format is not correct.\r\nIt should " + "contain a portion which is a locale code encolsed by [ ] such as [zh_CN]"); return m_errWriter.buildReportErroPage().toString(); } reportTargetLocaleId = getLocaleId(targetLanguage); GlobalSightLocale tLocale = HibernateUtil.get(GlobalSightLocale.class, reportTargetLocaleId); updateProcess(1); // Load the TUs and TUVs prior to improve performance. if (task != null) { for (Iterator spIt = task.getSourcePages(PrimaryFile.EXTRACTED_FILE).iterator(); spIt.hasNext();) { if (cancel) return null; SourcePage sp = (SourcePage) spIt.next(); SegmentTuUtil.getTusBySourcePageId(sp.getId()); SegmentTuvUtil.getSourceTuvs(sp); } updateProcess(3); for (Iterator tpIt = task.getTargetPages(PrimaryFile.EXTRACTED_FILE).iterator(); tpIt.hasNext();) { if (cancel) return null; TargetPage tp = (TargetPage) tpIt.next(); SegmentTuvUtil.getTargetTuvs(tp); } } updateProcess(5); if (WebAppConstants.TRANSLATION_EDIT.equals(p_reportName)) { if (isTERReport(sheet, segmentHeaderRow)) { return loadTERReportData(sheet, task, tLocale); } else { m_errWriter .addFileErrorMsg("The file you are uploading does not keep the report's correct format." + "\r\nMaybe you have changed some column header signatures or orders." + "\r\nThe following column header signatures and orders should keep the source report's format." + "\r\nJob id, Segment id, TargetPage id, Required translation." + "\r\nPlease make sure they are correct and upload again."); return m_errWriter.buildReportErroPage().toString(); } } else if (WebAppConstants.LANGUAGE_SIGN_OFF.equals(p_reportName)) { if (isRCRSimpleReportAfter855(sheet, segmentHeaderRow)) { return loadRCRSimpleReportDataAfter855(sheet, task, tLocale, bundle); } else if (isRCRSimpleReportFor855(sheet, segmentHeaderRow)) { return loadRCRSimpleReportDataFor855(sheet, task, tLocale, bundle); } else if (isRCRReport(sheet, segmentHeaderRow)) { return loadRCRReportData(sheet, task, tLocale, bundle); } else { m_errWriter.addFileErrorMsg("The report type is not correct." + "\r\nPlease make sure the report type is correct and upload again."); return m_errWriter.buildReportErroPage().toString(); } } else if (WebAppConstants.POST_REVIEW_QA.equals(p_reportName)) { if (isPRRReport(sheet, segmentHeaderRow + 4)) { return loadPRRReportData(sheet, task, tLocale); } else { m_errWriter.addFileErrorMsg("The report type is not correct." + "\r\nPlease make sure the report type is correct and upload again."); return m_errWriter.buildReportErroPage().toString(); } } else if (WebAppConstants.TRANSLATION_VERIFICATION.equals(p_reportName)) { if (isTVRReport(sheet, segmentHeaderRow)) { return loadTVRReportData(sheet, task, tLocale); } else { m_errWriter.addFileErrorMsg("The report type is not correct." + "\r\nPlease make sure the report type is correct and upload again."); return m_errWriter.buildReportErroPage().toString(); } } } catch (Throwable ex) { String args[] = { EditUtil.encodeHtmlEntities(ex.getMessage()) }; String errMsg = MessageFormat.format(m_messages.getString("FormatTwoLoadError"), (Object[]) args); CATEGORY.error(errMsg); m_errWriter.addFileErrorMsg(errMsg); return m_errWriter.buildReportErroPage().toString(); } finally { try { if (fis != null) fis.close(); if (tmpFile != null) tmpFile.delete(); } catch (Exception e) { CATEGORY.error("Cannot close Excel file.", e); } } return null; }
From source file:com.globalsight.everest.webapp.pagehandler.administration.reports.generator.CommentsAnalysisReportGenerator.java
License:Apache License
/** * Create the report sheets/*w w w. j av a 2 s . c om*/ * * @throws Exception */ private void createReport(Workbook p_workbook, Job p_job, List<GlobalSightLocale> p_targetLocales, String p_dateFormat) throws Exception { List<GlobalSightLocale> jobTL = ReportHelper.getTargetLocals(p_job); for (GlobalSightLocale trgLocale : p_targetLocales) { if (!jobTL.contains(trgLocale)) continue; String srcLang = p_job.getSourceLocale().getDisplayName(uiLocale); String trgLang = trgLocale.getDisplayName(uiLocale); // Create One Report Sheet/Tab Sheet sheet = null; if (isCombineAllJobs && p_workbook.getSheet(trgLocale.toString()) != null) { sheet = p_workbook.getSheet(trgLocale.toString()); } else { sheet = p_workbook.createSheet(trgLocale.toString()); sheet.protectSheet(""); // Add Title addTitle(p_workbook, sheet); // Add Locale Pair Header addLanguageHeader(p_workbook, sheet); // Add Segment Header addSegmentHeader(p_workbook, sheet); // Insert Language Data writeLanguageInfo(p_workbook, sheet, srcLang, trgLang); } // Create Name Areas for drop down list. if (p_workbook.getName(CATEGORY_FAILURE_DROP_DOWN_LIST) == null) { createCategoryFailureNameArea(p_workbook); } // Insert Segment Data if (isCombineAllJobs) { Integer row = null; if (rowsMap.get(trgLang) == null) { row = writeSegmentInfo(p_workbook, sheet, p_job, trgLocale, p_dateFormat, SEGMENT_START_ROW); } else { row = writeSegmentInfo(p_workbook, sheet, p_job, trgLocale, p_dateFormat, rowsMap.get(trgLang)); } rowsMap.put(trgLang, row); } else { writeSegmentInfo(p_workbook, sheet, p_job, trgLocale, p_dateFormat, SEGMENT_START_ROW); } } }
From source file:com.globalsight.everest.webapp.pagehandler.administration.reports.generator.ImplementedCommentsCheckReportGenerator.java
License:Apache License
/** * Create the report sheets/*from w w w . ja va2 s .com*/ * * @throws Exception */ private void createReport(Workbook p_workbook, Job p_job, List<GlobalSightLocale> p_targetLocales, String p_dateFormat) throws Exception { List<GlobalSightLocale> jobTL = ReportHelper.getTargetLocals(p_job); for (GlobalSightLocale trgLocale : p_targetLocales) { if (!jobTL.contains(trgLocale)) continue; String srcLang = p_job.getSourceLocale().getDisplayName(uiLocale); String trgLang = trgLocale.getDisplayName(uiLocale); // Create One Report Sheet/Tab Sheet sheet = null; if (p_workbook.getSheet(trgLocale.toString()) != null) { sheet = p_workbook.getSheet(trgLocale.toString()); } else { sheet = p_workbook.createSheet(trgLocale.toString()); sheet.protectSheet(""); // Add Title addTitle(p_workbook, sheet); // Add Locale Pair Header addLanguageHeader(p_workbook, sheet); // Add Segment Header addSegmentHeader(p_workbook, sheet); // Insert Language Data writeLanguageInfo(p_workbook, sheet, srcLang, trgLang); } // Create Name Areas for drop down list. if (p_workbook.getName(CATEGORY_FAILURE_DROP_DOWN_LIST) == null) { createCategoryFailureNameArea(p_workbook); } writeSegmentInfo(p_workbook, sheet, p_job, trgLocale, p_dateFormat, SEGMENT_START_ROW); } }
From source file:com.globalsight.util.ExcelUtil.java
License:Apache License
public static Sheet getSheet(Workbook workbook, String sheetName) { if (workbook == null || StringUtil.isEmpty(sheetName)) return null; return workbook.getSheet(sheetName); }
From source file:com.gtja.qh.TransferCtrl.TransferCtrl.java
private boolean transferToTxt(String inputFilePath, String outFileDir) { File inputFile = new File(inputFilePath); String inputFileName = inputFile.getName(); String extension = inputFileName.lastIndexOf(".") == -1 ? "" : inputFileName.substring(inputFileName.lastIndexOf(".") + 1); StringBuffer input = null;/*from w w w . j a v a 2s. c om*/ if ("xls".equals(extension)) { //JXL?excel 2003??xlsx? try { //?excel InputStream is = new FileInputStream(inputFilePath); jxl.Workbook rwb = jxl.Workbook.getWorkbook(is); jxl.Sheet rs = rwb.getSheet(0); int rsRows = rs.getRows(); input = new StringBuffer(); for (int i = 1; i < rsRows; i++) { if (rs.getCell(5, i).getContents().equals("")) { String line = "A999@" + rs.getCell(4, i).getContents() + "@" + rs.getCell(6, i).getContents() + "\r\n"; line = line.replaceAll(",", ""); input.append(line); } else { continue; } } } catch (Exception e) { e.printStackTrace(); return false; } } else if ("xlsx".equals(extension)) { //POI ?excel 2007,??excel 2003 try { InputStream fs = new FileInputStream(inputFilePath); XSSFWorkbook wb; wb = new XSSFWorkbook(fs); XSSFSheet sheet = wb.getSheetAt(0); int rows = sheet.getPhysicalNumberOfRows(); input = new StringBuffer(); for (int i = 1; i < rows; i++) { Row row = sheet.getRow(i); if (row == null) { continue; } if (row.getCell(5).getStringCellValue().equals("")) { if (row.getCell(4) == null) { row.createCell(4); row.getCell(4).setCellValue(""); } if (row.getCell(6) == null) { row.createCell(6); row.getCell(6).setCellValue(""); } String tradeCode = row.getCell(4).getStringCellValue(); Double amount = null; String amt = null; if (row.getCell(6).getCellType() == CELL_TYPE_NUMERIC) { amount = row.getCell(6).getNumericCellValue(); amt = new DecimalFormat("0.00").format(amount); } else { if (row.getCell(6).getStringCellValue().length() == 0) { amount = null; amt = ""; } else { amount = new DecimalFormat("0.00").parse(row.getCell(6).getStringCellValue()) .doubleValue(); //String?Double amt = amount.toString(); } } String line = "A999@" + tradeCode + "@" + amt + "\r\n"; line = line.replaceAll(",", ""); input.append(line); } else { continue; } } } catch (Exception e) { e.printStackTrace(); return false; } } try { // String fileName = "0004_00000001_" + frame.getDate().getText() + "_DailyFundChg"; String outFile = outFileDir + "\\" + fileName + ".txt"; File file = new File(outFile); if (!file.exists()) { file.createNewFile(); } // OutputStream os = new FileOutputStream(file); os.write(input.toString().getBytes()); os.flush(); os.close(); return true; } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, "???", "?", JOptionPane.ERROR_MESSAGE); return false; } }