Example usage for org.apache.poi.openxml4j.exceptions InvalidFormatException InvalidFormatException

List of usage examples for org.apache.poi.openxml4j.exceptions InvalidFormatException InvalidFormatException

Introduction

In this page you can find the example usage for org.apache.poi.openxml4j.exceptions InvalidFormatException InvalidFormatException.

Prototype

public InvalidFormatException(String message) 

Source Link

Usage

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";
}