List of usage examples for org.apache.poi.openxml4j.exceptions InvalidFormatException InvalidFormatException
public InvalidFormatException(String message)
From source file:com.kplot.web.data.WorkbookFactory.java
License:Apache License
/** * Creates the appropriate HSSFWorkbook / XSSFWorkbook from * the given InputStream, which may be password protected. * <p>Your input stream MUST either support mark/reset, or * be wrapped as a {@link PushbackInputStream}! Note that * using an {@link InputStream} has a higher memory footprint * than using a {@link File}.</p> * * <p>Note that in order to properly release resources the * Workbook should be closed after use. Note also that loading * from an InputStream requires more memory than loading * from a File, so prefer {@link #create(File)} where possible.</p> * * @param inp The {@link InputStream} to read data from. * @param password The password that should be used or null if no password is necessary. * * @return The created Workbook// w w w . j av a 2s . co m * * @throws IOException if an error occurs while reading the data * @throws InvalidFormatException if the contents of the file cannot be parsed into a {@link Workbook} * @throws EncryptedDocumentException If the wrong password is given for a protected file * @throws EmptyFileException If an empty stream is given */ public static Workbook create(InputStream inp, String password) throws IOException, InvalidFormatException, EncryptedDocumentException { // If clearly doesn't do mark/reset, wrap up if (!inp.markSupported()) { inp = new PushbackInputStream(inp, 8); } // Ensure that there is at least some data there byte[] header8 = IOUtils.peekFirst8Bytes(inp); // Try to create if (NPOIFSFileSystem.hasPOIFSHeader(header8)) { NPOIFSFileSystem fs = new NPOIFSFileSystem(inp); return create(fs, password); } if (POIXMLDocument.hasOOXMLHeader(inp)) { return new XSSFWorkbook(OPCPackage.open(inp)); } throw new InvalidFormatException("Your InputStream was neither an OLE2 stream, nor an OOXML stream"); }
From source file:de.knowwe.include.export.ImageExporter.java
License:Open Source License
private int getFormat(String path) throws InvalidFormatException { path = path.toLowerCase();/*w w w . ja va 2 s . c o m*/ if (path.endsWith(".emf")) { return XWPFDocument.PICTURE_TYPE_EMF; } else if (path.endsWith(".wmf")) { return XWPFDocument.PICTURE_TYPE_WMF; } else if (path.endsWith(".pict")) { return XWPFDocument.PICTURE_TYPE_PICT; } else if (path.endsWith(".jpeg") || path.endsWith(".jpg")) { return XWPFDocument.PICTURE_TYPE_JPEG; } else if (path.endsWith(".png")) { return XWPFDocument.PICTURE_TYPE_PNG; } else if (path.endsWith(".dib")) { return XWPFDocument.PICTURE_TYPE_DIB; } else if (path.endsWith(".gif")) { return XWPFDocument.PICTURE_TYPE_GIF; } else if (path.endsWith(".tiff")) { return XWPFDocument.PICTURE_TYPE_TIFF; } else if (path.endsWith(".eps")) { return XWPFDocument.PICTURE_TYPE_EPS; } else if (path.endsWith(".bmp")) { return XWPFDocument.PICTURE_TYPE_BMP; } else if (path.endsWith(".wpg")) return XWPFDocument.PICTURE_TYPE_WPG; throw new InvalidFormatException("unrecognized format of " + path); }
From source file:net.sibcolombia.sibsp.service.portal.implementation.ResourceManagerImplementation.java
License:Creative Commons License
private void readAdditionalMetadata(Eml eml, Workbook template) throws InvalidFormatException { Sheet sheet = template.getSheet("Metadatos Adicionales"); DateFormat dateFormatA = new SimpleDateFormat("MM/dd/yyyy"); DateFormat dateFormatB = new SimpleDateFormat("yyyy-MM-dd"); eml.setHierarchyLevel(readCellValue(sheet.getRow(5).getCell(1))); eml.setLogoUrl(readCellValue(sheet.getRow(7).getCell(1))); try {// www. j av a2 s .com if (readCellValue(sheet.getRow(5).getCell(4)).matches("\\d{4}-\\d{2}-\\d{2}")) { eml.setPubDate(dateFormatB.parse(readCellValue(sheet.getRow(5).getCell(4)))); } else if (readCellValue(sheet.getRow(5).getCell(4)).matches("\\d{2}/\\d{2}/\\d{4}")) { eml.setPubDate(dateFormatA.parse(readCellValue(sheet.getRow(5).getCell(4)))); } else { throw new InvalidFormatException("Error al procesar fecha inicial y final en cobertura temporal: "); } } catch (ParseException e) { throw new InvalidFormatException("Error al procesar fecha inicial y final en cobertura temporal: " + e); } eml.setPurpose(readCellValue(sheet.getRow(9).getCell(1))); switch (readCellValue(sheet.getRow(11).getCell(1))) { case "Ningna licencia seleccionada": eml.setIntellectualRights(readCellValue(sheet.getRow(12).getCell(1))); break; case "Creative Commons CCZero": eml.setIntellectualRights(baseAction.getText("eml.intellectualRights.license.cczero.text")); break; case "Open Data Commons Public Domain Dedication and Licence (PDDL)": eml.setIntellectualRights(baseAction.getText("eml.intellectualRights.license.pddl.text")); break; case "Open Data Commons Attribution License": eml.setIntellectualRights(baseAction.getText("eml.intellectualRights.license.odcby.text")); break; case "Open Data Commons Open Database License (ODbL)": eml.setIntellectualRights(baseAction.getText("eml.intellectualRights.license.odbl.text")); break; default: throw new InvalidFormatException("El tipo de licencia elegida es invlida."); } eml.setAdditionalInfo(readCellValue(sheet.getRow(14).getCell(1))); List<String> alternateIdentifiers = new ArrayList<String>(); Iterator<Row> rowIterator = sheet.rowIterator(); Row row; while (rowIterator.hasNext()) { row = rowIterator.next(); if (readCellValue(sheet.getRow(row.getRowNum()).getCell(1, Row.CREATE_NULL_AS_BLANK)) .equalsIgnoreCase("Identificador Alterno:")) { if (!readCellValue(sheet.getRow(row.getRowNum() + 1).getCell(1)).isEmpty()) { alternateIdentifiers.add(readCellValue(sheet.getRow(row.getRowNum() + 1).getCell(1))); } } } eml.setAlternateIdentifiers(alternateIdentifiers); }
From source file:net.sibcolombia.sibsp.service.portal.implementation.ResourceManagerImplementation.java
License:Creative Commons License
private String readCellValue(Cell cell) throws InvalidFormatException { switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: return cell.getStringCellValue(); case Cell.CELL_TYPE_NUMERIC: return Double.toString(cell.getNumericCellValue()); case Cell.CELL_TYPE_BOOLEAN: return Boolean.toString(cell.getBooleanCellValue()); case Cell.CELL_TYPE_FORMULA: return cell.getCellFormula(); case Cell.CELL_TYPE_ERROR: throw new InvalidFormatException("Error en el formato de archivo"); case Cell.CELL_TYPE_BLANK: return ""; default:/* w ww. j a v a2s . c om*/ throw new InvalidFormatException("Error en el formato de archivo"); } }
From source file:net.sibcolombia.sibsp.service.portal.implementation.ResourceManagerImplementation.java
License:Creative Commons License
private void readTemporalCoverage(Eml eml, Workbook template) throws InvalidFormatException { Sheet sheet = template.getSheet("Cobertura Temporal"); List<TemporalCoverage> temporalCoverages = new ArrayList<TemporalCoverage>(); TemporalCoverage temporalCoverage = null; DateFormat dateFormatA = new SimpleDateFormat("MM/dd/yyyy"); DateFormat dateFormatB = new SimpleDateFormat("yyyy-MM-dd"); Iterator<Row> rowIterator = sheet.rowIterator(); Row row;/*from www.j av a 2s .c om*/ while (rowIterator.hasNext()) { row = rowIterator.next(); if (readCellValue(sheet.getRow(row.getRowNum()).getCell(1, Row.CREATE_NULL_AS_BLANK)) .equalsIgnoreCase("Tipo de cobertura temporal:")) { switch (readCellValue(sheet.getRow(row.getRowNum() + 1).getCell(1))) { case "Fecha Simple": try { temporalCoverage = new TemporalCoverage(); if (readCellValue(sheet.getRow(row.getRowNum() + 5).getCell(2)) .matches("\\d{4}-\\d{2}-\\d{2}")) { temporalCoverage.setStartDate(dateFormatB .parse(readCellValue(sheet.getRow(row.getRowNum() + 14).getCell(2)))); } else if (readCellValue(sheet.getRow(row.getRowNum() + 5).getCell(2)) .matches("\\d{2}/\\d{2}/\\d{4}")) { temporalCoverage.setStartDate(dateFormatA .parse(readCellValue(sheet.getRow(row.getRowNum() + 14).getCell(2)))); } else { throw new InvalidFormatException( "Error al procesar fecha inicial y final en cobertura temporal: "); } temporalCoverages.add(temporalCoverage); } catch (ParseException e) { throw new InvalidFormatException( "Error al procesar fecha inicial y final en cobertura temporal: " + e); } break; case "Perodo de Tiempo de Vida": temporalCoverage = new TemporalCoverage(); temporalCoverage .setLivingTimePeriod(readCellValue(sheet.getRow(row.getRowNum() + 8).getCell(2))); temporalCoverages.add(temporalCoverage); break; case "Perodo de Formacin": temporalCoverage = new TemporalCoverage(); temporalCoverage .setFormationPeriod(readCellValue(sheet.getRow(row.getRowNum() + 11).getCell(2))); temporalCoverages.add(temporalCoverage); break; case "Rango de Fechas": try { temporalCoverage = new TemporalCoverage(); if (readCellValue(sheet.getRow(row.getRowNum() + 14).getCell(2)) .matches("\\d{4}-\\d{2}-\\d{2}")) { temporalCoverage.setStartDate(dateFormatB .parse(readCellValue(sheet.getRow(row.getRowNum() + 14).getCell(2)))); } else if (readCellValue(sheet.getRow(row.getRowNum() + 14).getCell(2)) .matches("\\d{2}/\\d{2}/\\d{4}")) { temporalCoverage.setStartDate(dateFormatA .parse(readCellValue(sheet.getRow(row.getRowNum() + 14).getCell(2)))); } else { throw new InvalidFormatException( "Error al procesar fecha inicial y final en cobertura temporal: "); } if (readCellValue(sheet.getRow(row.getRowNum() + 14).getCell(5)) .matches("\\d{4}-\\d{2}-\\d{2}")) { temporalCoverage.setEndDate(dateFormatB .parse(readCellValue(sheet.getRow(row.getRowNum() + 14).getCell(5)))); } else if (readCellValue(sheet.getRow(row.getRowNum() + 14).getCell(5)) .matches("\\d{2}/\\d{2}/\\d{4}")) { temporalCoverage.setEndDate(dateFormatA .parse(readCellValue(sheet.getRow(row.getRowNum() + 14).getCell(5)))); } else { throw new InvalidFormatException( "Error al procesar fecha inicial y final en cobertura temporal: "); } temporalCoverages.add(temporalCoverage); } catch (ParseException e) { throw new InvalidFormatException( "Error al procesar fecha inicial y final en cobertura temporal: " + e); } break; default: break; } } } eml.setTemporalCoverages(temporalCoverages); }
From source file:no.hild1.bank.KonverterMottagerregister.java
License:Apache License
private boolean convertToXML() throws InvalidFormatException { Sheet sheet = null;/*w w w. ja va 2 s .co m*/ System.out.println("Starter konvertering til SDC XML"); int numSheets = this.workbook.getNumberOfSheets(); boolean foundAtleastOneValid = false; for (int i = 0; i < numSheets; i++) { sheet = this.workbook.getSheetAt(i); String name = sheet.getSheetName(); if (name.contains("innland")) { System.out.println("Fant innland-regneark, prosesserer"); foundAtleastOneValid = true; this.processInnland(sheet); } else if (name.contains("utland")) { System.out.println("Fant utland-regneark, vet ikke hvordan dette prosesseres"); } else { System.out.println("Fant ukjent regneark: " + name + ", ignorerer"); } } if (!foundAtleastOneValid) { throw new InvalidFormatException( "Fant ikke innland-regneark, ingen output laget. (utland-konvertering stttes ikke atm.)"); } return true; }
From source file:no.hild1.bank.KonverterMottagerregister.java
License:Apache License
private void processInnland(Sheet sheet) throws InvalidFormatException { if (sheet.getPhysicalNumberOfRows() > 0) { int lastRowNum = 0; Row row = null;/*w ww. j a v a 2 s . co m*/ lastRowNum = sheet.getLastRowNum(); System.out.println("Innland har " + lastRowNum + " rader"); row = sheet.getRow(0); int lastCellNum = row.getLastCellNum(); System.out.println("Innland rad 0 har " + lastCellNum + " celler"); System.out.println("Kjrer tilregnelighetssjekk"); String KO = text(row, INNLAND_KONTONR); String LE = text(row, INNLAND_LEVNR); String NA = text(row, INNLAND_NAVN); String A1 = text(row, INNLAND_ADDR1); String A2 = text(row, INNLAND_ADDR2); String NR = text(row, INNLAND_POSTNUMMER); String ST = text(row, INNLAND_POSTSTED); if (KO.equals("Kontonr") && LE.equals("Lev.nr") && NA.equals("Navn") && A1.equals("Adresse 1") && A2.equals("Adresse 2") && NR.equals("Postnr.") && ST.equals("Poststed")) { System.out.println("Frste rad ser OK ut, fortsetter"); for (int j = 1; j <= lastRowNum; j++) { System.out.println("Prosesserer rad " + j + " av " + lastRowNum); row = sheet.getRow(j); this.rowToXML(row, j); } } else { throw new InvalidFormatException("Kjenner ikke igjen frste rad\n" + "Skulle vrt (1), fant (2)\n(1) 'Kontonr' 'Lev.nr' 'Navn' 'Adresse 1' 'Adresse 2' 'Postnr.' 'Poststed'\n'" + "" + KO + "' '" + LE + "' '" + NA + "' '" + A1 + "' '" + A2 + "' '" + NR + "' '" + ST + "'"); } } }
From source file:no.hild1.excelsplit.ES.java
private boolean splitWorkbook() throws InvalidFormatException, IOException { Sheet sheet = null;// w w w . ja v a 2 s . co m System.out.println("Starter splitting av fil"); int numSheets = this.inputWorkbook.getNumberOfSheets(); boolean foundAtleastOneValid = false; for (int i = 0; i < numSheets; i++) { sheet = this.inputWorkbook.getSheetAt(i); String name = sheet.getSheetName(); if (name.contains("Ark1")) { System.out.println("Fant Ark1, prosesserer"); foundAtleastOneValid = true; processSheet(sheet); System.out.println("Finished prosessing."); } else { System.out.println("Fant ukjent regneark: " + name + ", ignorerer"); } } if (!foundAtleastOneValid) { throw new InvalidFormatException( "Fant ikke innland-regneark, ingen output laget. (utland-konvertering stttes ikke atm.)"); } return true; }
From source file:war.controller.WorkboardController.java
License:Open Source License
@RequestMapping(value = "/addEngineeringData", method = RequestMethod.POST) public String addEngineeringDataToWorkboard( @RequestParam(value = "file", required = true) MultipartFile uploadfile, @RequestParam(value = "sourceType", required = true) String sourceType, @RequestParam(value = "engVariable", required = true) String engVariableName, @RequestParam(value = "engVariableCategory", required = true) String engVariableCategory, @RequestParam(value = "id", required = true) Integer userStoryId, @RequestParam(value = "displayType", required = true) String displayTypeString, RedirectAttributes attributes) { logger.info("Inside addEngineeringDataToWorkBoard"); UserStory userStory = null;/* w w w . j a v a 2s. com*/ try { userStory = userStoryDao.find(userStoryId); if (!(SecurityHelper.IsCurrentUserAllowedToAccess(userStory))) // Security: ownership check throw new AccessDeniedException(ERR_ACCESS_DENIED); EngineeringModelVariable engVariable = null; try { engVariable = engineeringModelVariableDao.find(engVariableName, engVariableCategory); } catch (NoResultException e) { logger.info(e.getMessage() + "(" + engVariableName + ")"); throw (e); } DataElement.DisplayType displayType = DataElement.DisplayType.fromString(displayTypeString); if (sourceType.equals("upload")) { logger.info("Excel File Upload"); int lastIndex = uploadfile.getOriginalFilename().lastIndexOf('.'); //String fileName = uploadfile.getOriginalFilename().substring(0, lastIndex); String fileExtension = uploadfile.getOriginalFilename().substring(lastIndex + 1); String fileType = uploadfile.getContentType(); // Checks the file extension & MIME type if (uploadfile.getSize() == 0) { throw new IllegalArgumentException(WorkboardController.ERR_UPLOAD_NO_FILE); } else if (!(fileType.equals("application/vnd.ms-excel") || fileType.equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")) || !(fileExtension.equals("xls") || fileExtension.equals("xlsx"))) { throw new InvalidFormatException(WorkboardController.ERR_INVALID_FILE_FORMAT); } ByteArrayInputStream bis = new ByteArrayInputStream(uploadfile.getBytes()); // HSSFWorkbook and HSSFSheet for XLS, XSSFWorkbook and XSSFSheet for XLSX HSSFWorkbook workbook = new HSSFWorkbook(bis); // Extract & save Engineering Model Asset EngineeringModelAsset asset = extractEngineeringOutputAsset(workbook); asset = engineeringModelAssetDao.save(asset); // Extract and save Engineering Model Data List<EngineeringModelData> extractedDataList = extractEngineeringOutputData(workbook, userStory, engVariable, asset); // Create a data element using the extracted data if there is some if (extractedDataList != null && extractedDataList.size() > 0) { for (EngineeringModelData data : extractedDataList) { engineeringModelDataDao.save(data); } DataElementEngineeringModel de = new DataElementEngineeringModel(new Date(), "Concrete deterioration for " + asset.getAssetCode(), true, 0, displayType, userStory, extractedDataList); dataElementDao.save(de); userStory = userStoryDao.find(userStoryId); attributes.addFlashAttribute("successMessage", WorkboardController.MSG_ENG_DATA_ADDED); } else { throw new NoResultException(WorkboardController.ERR_NO_DATA_ENG_MODEL); } } else if (sourceType.equals("example")) { logger.info("Example selected"); //Find the Data List<EngineeringModelData> engineeringModelDataList = engineeringModelDataDao .find(userStory.getSeaport().getRegion(), engVariable); // Create the data element if (engineeringModelDataList != null && engineeringModelDataList.size() > 0) { String dataElementTitle = "Concrete deterioration for " + engineeringModelDataList.get(0).getAsset().getAssetCode(); DataElementEngineeringModel de = new DataElementEngineeringModel(new Date(), dataElementTitle, true, 0, displayType, userStory, engineeringModelDataList); dataElementDao.save(de); userStory = userStoryDao.find(userStoryId); attributes.addFlashAttribute("successMessage", WorkboardController.MSG_ENG_DATA_ADDED); } else { throw new NoResultException(WorkboardController.ERR_NO_DATA_ENG_MODEL_EXAMPLE); } } } catch (NoResultException e) { attributes.addFlashAttribute("warningMessage", e.getMessage()); } catch (InvalidFormatException e) { attributes.addFlashAttribute("warningMessage", e.getMessage()); } catch (IllegalArgumentException e) { attributes.addFlashAttribute("warningMessage", e.getMessage()); } catch (IOException e) { attributes.addFlashAttribute("errorMessage", e.getMessage()); } return "redirect:/auth/workboard?user=" + SecurityHelper.getCurrentlyLoggedInUsername() + "#tabs-applications"; }