Example usage for org.apache.poi.xssf.usermodel XSSFWorkbook getSheetAt

List of usage examples for org.apache.poi.xssf.usermodel XSSFWorkbook getSheetAt

Introduction

In this page you can find the example usage for org.apache.poi.xssf.usermodel XSSFWorkbook getSheetAt.

Prototype

@Override
public XSSFSheet getSheetAt(int index) 

Source Link

Document

Get the XSSFSheet object at the given index.

Usage

From source file:com.adobe.acs.commons.mcp.impl.processes.AssetFolderCreator.java

License:Apache License

/**
 * Parses the input Excel file and creates a list of AssetFolderDefinition objects to process.
 *
 * @param manager the action manager/*w  w  w  .  j  a  v  a 2  s . c om*/
 * @throws IOException
 */
public void parseAssetFolderDefinitions(ActionManager manager) throws Exception {
    manager.withResolver(rr -> {
        final XSSFWorkbook workbook = new XSSFWorkbook(excelFile);
        // Close the InputStream to prevent resource leaks.
        excelFile.close();

        final XSSFSheet sheet = workbook.getSheetAt(0);
        final Iterator<Row> rows = sheet.rowIterator();

        while (rows.hasNext()) {
            parseAssetFolderRow(rows.next());
        }
        log.info("Finished Parsing and collected [ {} ] asset folders for creation.",
                assetFolderDefinitions.size());
    });
}

From source file:com.adobe.acs.commons.mcp.impl.processes.TagCreator.java

License:Apache License

/**
 * Parses the input Excel file and creates a list of TagDefinition objects to process.
 *
 * @param manager the action manager//from  w ww.  j  a  v  a 2s .c o m
 * @throws IOException
 */
@SuppressWarnings({ "squid:S3776", "squid:S1141" })
public void parseTags(ActionManager manager) throws Exception {
    manager.withResolver(rr -> {
        final XSSFWorkbook workbook = new XSSFWorkbook(excelFile);
        final XSSFSheet sheet = workbook.getSheetAt(0);
        final Iterator<Row> rows = sheet.rowIterator();
        final String tagsRootPath = new TagRootResolver(rr).getTagsLocationPath();

        if (tagsRootPath == null) {
            record(ReportRowSatus.FAILED_TO_PARSE,
                    "Abandoning Tag parsing. Unable to determine AEM Tags root (/content/cq:tags vs /etc/tags). Please ensure the path exists and is accessible by the user running Tag Creator.",
                    "N/A", "N/A");
            return;
        }

        while (rows.hasNext()) {
            final Row row = rows.next();
            final Iterator<Cell> cells = row.cellIterator();

            int cellIndex = 0;
            // The previousTagId is reset on each new row.
            String previousTagId = null;

            while (cells.hasNext()) {
                final Cell cell = cells.next();

                final String cellValue = StringUtils.trimToNull(cell.getStringCellValue());
                if (StringUtils.isBlank(cellValue)) {
                    // Hitting a blank cell means its the end of this row; don't process anything past this
                    break;
                }

                // Generate a tag definition that will in turn be used to drive the tag creation
                TagDefinition tagDefinition = getTagDefinition(primary, cellIndex, cellValue, previousTagId,
                        tagsRootPath);

                if (tagDefinition == null) {
                    tagDefinition = getTagDefinition(fallback, cellIndex, cellValue, previousTagId,
                            tagsRootPath);
                }

                if (tagDefinition == null) {
                    log.warn("Could not find a Tag Data Converter that accepts value [ {} ]; skipping...",
                            cellValue);
                    // Record parse failure
                    record(ReportRowSatus.FAILED_TO_PARSE, cellValue, "", "");
                    // Break to next Row
                    break;
                } else {
                    /* Prepare for next Cell */
                    cellIndex++;
                    previousTagId = tagDefinition.getId();

                    if (tagDefinitions.get(tagDefinition.getId()) == null) {
                        tagDefinitions.put(tagDefinition.getId(), tagDefinition);
                    }
                }
            }
        }
        log.info("Finished Parsing and collected [ {} ] tags for import.", tagDefinitions.size());
    });
}

From source file:com.adobe.acs.commons.mcp.util.Spreadsheet.java

License:Apache License

/**
 * Parse out the input file synchronously for easier unit test validation
 *
 * @return List of files that will be imported, including any renditions
 * @throws IOException if the file couldn't be read
 *//*from  w  ww  .  ja  v  a 2s. co m*/
private void parseInputFile(InputStream file) throws IOException {

    XSSFWorkbook workbook = new XSSFWorkbook(file);

    final XSSFSheet sheet = workbook.getSheetAt(0);
    rowCount = sheet.getLastRowNum();
    final Iterator<Row> rows = sheet.rowIterator();

    headerRow = readRow(rows.next()).stream().map(this::convertHeaderName).collect(Collectors.toList());

    Iterable<Row> remainingRows = () -> rows;
    dataRows = StreamSupport.stream(remainingRows.spliterator(), false).map(this::buildRow)
            .filter(Optional::isPresent).map(Optional::get).collect(Collectors.toList());
}

From source file:com.assentisk.controller.OrganizationController.java

private ModelAndView importEmploye(HttpServletRequest req, HttpServletResponse res) throws Exception {
    System.out.println("hiiii heree.......");
    MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) req;
    MultipartFile multipartFile = multipartRequest.getFile("myexcel");
    String fileName = multipartFile.getOriginalFilename();
    map = new ModelMap();
    String name = req.getParameter("fileName");
    int status = 0;
    java.util.Date dt = new java.util.Date();
    java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String currentTime = sdf.format(dt);

    InetAddress ip = InetAddress.getLocalHost();
    String userId = (String) req.getSession().getAttribute("UserRecordID");

    byte[] b = multipartFile.getBytes();
    FileOutputStream fout = new FileOutputStream(new File(fileName));
    fout.write(b);//from w  w w. j  ava  2 s .  com
    fout.flush();
    fout.close();
    try {
        String DepartmentID = "", LocationID = "", EmpName = "", Email1 = "", Email2 = "", address = "";
        String city = "", zip = "", phone1 = "", locCoun = "", locstate = "", loccity = "", locContact = "",
                locEmail = "";
        String phone2 = "", divisions = "", email2 = "", username = "", reporting = "", photo = "";
        int isLicense = 0;
        int isactive = 1;
        int count = 0;
        int notcount = 0;
        FileInputStream file = new FileInputStream(new File(fileName));
        boolean flag = false;
        String[] data = null;
        List<String> dataStatus = new ArrayList<String>();
        int val = 0;
        //Reading .xls files

        if (fileName.toLowerCase().endsWith(".xls")) {
            // Get the workbook instance for XLS file
            HSSFWorkbook workbook = new HSSFWorkbook(file);
            // Get first sheet from the workbook
            HSSFSheet sheet = workbook.getSheetAt(0);
            sheet.setColumnHidden((short) 14, false);
            // Iterate through each rows from first sheet
            Iterator<Row> rowIterator = sheet.rowIterator();

            if (rowIterator.hasNext()) {

                while (rowIterator.hasNext()) {
                    short cellIndex = 0;
                    HSSFRow hsrow = (HSSFRow) rowIterator.next();
                    if (hsrow.getRowNum() != 0) {
                        if (hsrow instanceof HSSFRow) {
                            try {
                                EmpName = hsrow.getCell((short) 0).getStringCellValue();

                            } catch (Exception e) {
                                EmpName = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum() + ": EmpName - "
                                        + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": EmpName - "
                                        + e.getMessage());
                                val++;
                            }
                            try {
                                DepartmentID = hsrow.getCell((short) 1).getStringCellValue();
                            } catch (Exception e) {
                                DepartmentID = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum()
                                        + ":  Department - " + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Department - "
                                        + e.getMessage());
                                val++;
                            }
                            try {
                                LocationID = hsrow.getCell((short) 2).getStringCellValue();
                            } catch (Exception e) {
                                LocationID = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum() + ": Location -"
                                        + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Location - "
                                        + e.getMessage());
                                val++;

                            }

                            try {
                                locCoun = hsrow.getCell((short) 3).getStringCellValue();
                            } catch (Exception e) {
                                locCoun = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum()
                                        + ": location Country - " + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                        + ": Location Country- " + e.getMessage());
                                val++;
                            }

                            try {
                                locstate = hsrow.getCell((short) 4).getStringCellValue();
                            } catch (Exception e) {
                                locstate = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum()
                                        + ": location State - " + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Location State- "
                                        + e.getMessage());
                                val++;
                            }

                            try {
                                loccity = hsrow.getCell((short) 5).getStringCellValue();
                            } catch (Exception e) {
                                loccity = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum()
                                        + ": location City -" + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Location City- "
                                        + e.getMessage());
                                val++;
                            }
                            try {
                                locContact = hsrow.getCell((short) 6).getStringCellValue();
                            } catch (Exception e) {
                                locContact = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum()
                                        + ": location Contact Name -" + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                        + ": Location Contact Name- " + e.getMessage());
                                val++;
                            }

                            try {
                                locEmail = hsrow.getCell((short) 7).getStringCellValue();
                                boolean isValid = false;
                                try {
                                    //
                                    // Create InternetAddress object and validated the supplied
                                    // address which is this case is an email address.
                                    InternetAddress internetAddress = new InternetAddress(locEmail);
                                    internetAddress.validate();
                                    isValid = true;
                                } catch (AddressException e) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                            + ": Location Email- " + e.getMessage());
                                }
                            } catch (Exception e) {
                                locEmail = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum()
                                        + ": location Email -" + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Location Email- "
                                        + e.getMessage());
                                val++;
                            }

                            try {
                                divisions = hsrow.getCell((short) 8).getStringCellValue();
                            } catch (Exception e) {
                                divisions = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum() + ": Divisions - "
                                        + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Divisions - "
                                        + e.getMessage());
                                val++;
                            }
                            try {
                                address = hsrow.getCell((short) 9).getStringCellValue();
                            } catch (Exception e) {
                                address = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum() + ": address - "
                                        + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": address - "
                                        + e.getMessage());
                                val++;
                            }
                            try {
                                city = hsrow.getCell((short) 10).getStringCellValue();
                            } catch (Exception e) {
                                city = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum() + ": city - "
                                        + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": city - "
                                        + e.getMessage());
                                val++;
                            }

                            try {

                                zip = String.valueOf(hsrow.getCell((short) 11).getNumericCellValue());
                                zip = String.valueOf(zip).split("\\.")[0];

                            } catch (Exception e) {
                                zip = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum() + ": zip - "
                                        + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": zip - "
                                        + e.getMessage());
                                val++;
                            }

                            try {

                                DataFormatter formatter = new DataFormatter();

                                phone1 = String.valueOf(hsrow.getCell((short) 12).getNumericCellValue());
                                String df2 = formatter.formatCellValue(hsrow.getCell((short) 12));
                                phone1 = df2;
                                phone1 = String.valueOf(phone1).split("\\.")[0];

                            } catch (Exception e) {
                                phone1 = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum() + ": phone1 - "
                                        + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": phone1 - "
                                        + e.getMessage());
                                val++;
                            }
                            try {
                                DataFormatter formatter = new DataFormatter();
                                phone2 = String.valueOf(hsrow.getCell((short) 13).getNumericCellValue());
                                String df2 = formatter.formatCellValue(hsrow.getCell((short) 13));
                                phone2 = df2;
                                System.out.println("check phone1" + phone2);
                                phone2 = String.valueOf(phone2).split("\\.")[0];

                            } catch (Exception e) {
                                phone2 = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum() + ": phone2 -"
                                        + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": phone2 - "
                                        + e.getMessage());
                                val++;
                            }
                            try {
                                boolean isValid = false;
                                Email1 = hsrow.getCell((short) 14).getStringCellValue();
                                try {
                                    InternetAddress internetAddress = new InternetAddress(Email1);
                                    internetAddress.validate();
                                    isValid = true;
                                } catch (AddressException e) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Email1 - "
                                            + e.getMessage());
                                }
                            } catch (Exception e) {
                                Email1 = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum() + ": Email1 - "
                                        + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Email1 - "
                                        + e.getMessage());
                                val++;
                            }
                            try {

                                boolean isValid = false;
                                Email2 = hsrow.getCell((short) 15).getStringCellValue();
                                try {
                                    InternetAddress internetAddress = new InternetAddress(Email2);
                                    internetAddress.validate();
                                    isValid = true;
                                } catch (AddressException e) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Email2 - "
                                            + e.getMessage());
                                }
                            } catch (Exception e) {
                                Email2 = "";
                                System.out.println("Wrong Data in  Row " + hsrow.getRowNum() + ": Email2 - "
                                        + e.getMessage());
                                dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Email2 - "
                                        + e.getMessage());
                                val++;
                            }

                            int userdata = 0;

                            String groupdata = "";

                            if (username.equals("")) {
                                userdata = 0;
                                reporting = "0";
                                groupdata = "0";
                            }

                            if (!LocationID.equals("")) {
                                LocationID = organizationDao.getLocIdByName(LocationID, currentTime,
                                        Integer.parseInt(userId), locCoun, locstate, loccity, locContact,
                                        locEmail);
                                if (LocationID.equals("0")) {
                                    LocationID = "";
                                }
                            }
                            if (!DepartmentID.equals("")) {
                                DepartmentID = organizationDao.getDeparmentIdByName(DepartmentID, currentTime,
                                        Integer.parseInt(userId));
                                if (DepartmentID.equals("0")) {
                                    DepartmentID = "";
                                }
                            }
                            if (!divisions.equals("")) {

                                divisions = organizationDao.getDivisionByName(divisions, currentTime,
                                        Integer.parseInt(userId));
                                if (divisions.equals("0")) {
                                    divisions = "";
                                }
                            }

                            if (!EmpName.equals("") && !DepartmentID.equals("") && !divisions.equals("")
                                    && !LocationID.equals("")) {
                                String duplicate = "";
                                try {
                                    duplicate = organizationDao.saveEmployeedata(0, DepartmentID, LocationID,
                                            EmpName, Email1, reporting, groupdata, currentTime, currentTime,
                                            Integer.parseInt(userId), currentTime, Integer.parseInt(userId),
                                            status, address, city, "", "", zip, photo, phone1, phone2,
                                            divisions, Email2);
                                    masterDao.userAuditTrail("assentisk_employees", "1", "add", currentTime,
                                            Integer.parseInt(userId), ip.getHostAddress());
                                } catch (Exception e) {
                                    //dataStatus.add("Error on the data : "+hsrow.getRowNum());

                                    req.setAttribute("message", "Invalid Data File");
                                    return new ModelAndView("organization/employees", map);
                                }

                                if (duplicate.equals("true")) {
                                    notcount = notcount + 1;
                                    dataStatus.add("Duplicate Row : " + hsrow.getRowNum());
                                } else {
                                    count = count + 1;
                                }
                            } else {
                                System.out.println(
                                        "Error Row : " + hsrow.getRowNum() + "Not Inserted Row  : " + EmpName);
                                notcount = notcount + 1;
                            }
                        }
                    }

                }
            } else {
                dataStatus.add("Please import valid Data file");
            }
            if (count > 0) {
                dataStatus.add("Succesfully inserted Row : " + count);
                val++;
            }
            if (notcount > 0) {
                if (notcount == 1) {
                    dataStatus.add(notcount + " Row is not inserted");
                } else {
                    dataStatus.add(notcount + " Rows are not inserted");
                }

            }

        } //Reading .xlsx files
        else if (fileName.toLowerCase().endsWith(".xlsx")) {

            // Get the workbook instance for XLS file
            XSSFWorkbook wBook = new XSSFWorkbook(file);
            // Get first sheet from the workbook
            XSSFSheet sheet = wBook.getSheetAt(0);
            sheet.setColumnHidden((short) 14, false);
            // Iterate through each rows from first sheet
            Iterator<Row> rowIterator = sheet.rowIterator();

            while (rowIterator.hasNext()) {
                Row row = rowIterator.next();
                Iterator<Cell> cite = row.cellIterator();
                if (row.getRowNum() != 0) {
                    while (cite.hasNext()) {
                        Cell c = cite.next();
                        if (c.getColumnIndex() == 0) {
                            try {
                                EmpName = c.toString();
                            } catch (Exception e) {
                                EmpName = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": EmpName - "
                                        + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 1) {
                            try {
                                DepartmentID = c.toString();
                            } catch (Exception e) {
                                DepartmentID = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext()
                                        + ":  Department - " + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 2) {
                            try {
                                LocationID = c.toString();
                            } catch (Exception e) {
                                LocationID = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": Location -"
                                        + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 3) {
                            try {
                                locCoun = c.toString();
                            } catch (Exception e) {
                                locCoun = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext()
                                        + ": location Country - " + e.getMessage());

                            }
                        }
                        if (c.getColumnIndex() == 4) {
                            try {
                                locstate = c.toString();
                            } catch (Exception e) {
                                locstate = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext()
                                        + ": location State - " + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 5) {
                            try {
                                loccity = c.toString();
                            } catch (Exception e) {
                                loccity = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext()
                                        + ": location City -" + e.getMessage());

                            }
                        }
                        if (c.getColumnIndex() == 6) {
                            try {
                                locContact = c.toString();
                            } catch (Exception e) {
                                locContact = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext()
                                        + ": location Contact Name -" + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 7) {
                            try {
                                locEmail = c.toString();
                                boolean isValid = false;
                                try {
                                    InternetAddress internetAddress = new InternetAddress(locEmail);
                                    internetAddress.validate();
                                    isValid = true;
                                } catch (AddressException e) {
                                    dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext()
                                            + ": locEmail - " + e.getMessage());
                                }

                            } catch (Exception e) {
                                locEmail = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext()
                                        + ": location Email -" + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 8) {
                            try {
                                divisions = c.toString();
                            } catch (Exception e) {
                                divisions = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": Divisions - "
                                        + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 9) {
                            try {
                                address = c.toString();
                            } catch (Exception e) {
                                address = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": address - "
                                        + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 10) {
                            try {
                                city = c.toString();
                            } catch (Exception e) {
                                city = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": city - "
                                        + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 11) {
                            try {
                                zip = c.toString();
                            } catch (Exception e) {
                                zip = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": zip - "
                                        + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 12) {
                            try {
                                DataFormatter formatter = new DataFormatter();
                                phone1 = c.toString();
                                String df2 = formatter.formatCellValue(row.getCell((short) 12));
                                phone1 = df2;
                            } catch (Exception e) {
                                phone1 = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": phone1 - "
                                        + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 13) {
                            try {
                                DataFormatter formatter = new DataFormatter();
                                phone2 = c.toString();
                                String df2 = formatter.formatCellValue(row.getCell((short) 12));
                                phone2 = df2;
                            } catch (Exception e) {
                                phone2 = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": phone2 -"
                                        + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 3) {
                            try {
                                Email1 = c.toString();
                                boolean isValid = false;
                                try {
                                    InternetAddress internetAddress = new InternetAddress(Email1);
                                    internetAddress.validate();
                                    isValid = true;
                                } catch (AddressException e) {
                                    dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": Email1 - "
                                            + e.getMessage());
                                }
                            } catch (Exception e) {
                                Email1 = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": Email1 - "
                                        + e.getMessage());
                            }
                        }
                        if (c.getColumnIndex() == 10) {
                            try {
                                Email2 = c.toString();
                                boolean isValid = false;
                                try {
                                    InternetAddress internetAddress = new InternetAddress(Email2);
                                    internetAddress.validate();
                                    isValid = true;
                                } catch (AddressException e) {
                                    dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": Email2 - "
                                            + e.getMessage());
                                }
                            } catch (Exception e) {
                                Email2 = "";
                                dataStatus.add("Wrong Data in  Row " + rowIterator.hasNext() + ": Email2 - "
                                        + e.getMessage());
                            }
                        }

                    }

                    int userdata = 0;

                    String groupdata = "";

                    if (username.equals("")) {
                        userdata = 0;
                        reporting = "0";
                        groupdata = "0";
                    }

                    if (!LocationID.equals("")) {
                        LocationID = organizationDao.getLocIdByName(LocationID, currentTime,
                                Integer.parseInt(userId), locCoun, locstate, loccity, locContact, locEmail);
                        if (LocationID.equals("0")) {
                            LocationID = "";
                        }
                    }
                    if (!DepartmentID.equals("")) {
                        DepartmentID = organizationDao.getDeparmentIdByName(DepartmentID, currentTime,
                                Integer.parseInt(userId));
                        if (DepartmentID.equals("0")) {
                            DepartmentID = "";
                        }
                    }
                    if (!divisions.equals("")) {

                        divisions = organizationDao.getDivisionByName(divisions, currentTime,
                                Integer.parseInt(userId));
                        if (divisions.equals("0")) {
                            divisions = "";
                        }
                    }

                    if (!EmpName.equals("") && !DepartmentID.equals("") && !divisions.equals("")
                            && !LocationID.equals("")) {
                        String duplicate = "";
                        try {
                            duplicate = organizationDao.saveEmployeedata(0, DepartmentID, LocationID, EmpName,
                                    Email1, reporting, groupdata, currentTime, currentTime,
                                    Integer.parseInt(userId), currentTime, Integer.parseInt(userId), status,
                                    address, city, "", "", zip, photo, phone1, phone2, divisions, Email2);
                            masterDao.userAuditTrail("assentisk_employees", "1", "add", currentTime,
                                    Integer.parseInt(userId), ip.getHostAddress());

                        } catch (Exception e) {
                            //dataStatus.add("Error on the data : "+hsrow.getRowNum());
                            req.setAttribute("message", "Invalid Data File");

                            return new ModelAndView("organization/employees", map);
                        }

                        if (duplicate.equals("true")) {
                            notcount = notcount + 1;
                            dataStatus.add("Duplicate Row : " + row.getRowNum());
                        } else {
                            count = count + 1;
                        }
                    } else {
                        System.out.println(
                                "Error Row : " + row.getRowNum() + "Not Inserted Row EmpName : " + EmpName);
                        notcount = notcount + 1;
                    }
                }
            }

            if (count > 0) {
                System.out.println("Succesfully inserted Row :" + count);
                dataStatus.add("Succesfully inserted Row : " + count);
                val++;
            }
            if (notcount > 0) {
                dataStatus.add(notcount + " Rows are not inserted");
            }

            file.close();

            File f = new File(fileName);

            if (f.exists()) {
                f.delete();
            }
        }

        if (dataStatus.size() > 0) {
            map.addObject("dataStatus", dataStatus);
            map.addObject("datasize", "true");

        } else {
            map.addObject("datasize", "false");
        }
        file.close();
        File f = new File(fileName);
        if (f.exists()) {
            f.delete();
        }

    } catch (FileNotFoundException e) {
        e.printStackTrace();
        req.setAttribute("message", "Invalid data file");
    } catch (IOException e) {
        e.printStackTrace();
        req.setAttribute("message", "Invalid data file");
    } catch (Exception e) {
        e.printStackTrace();
        req.setAttribute("message", "Invalid data file");
    }
    return new ModelAndView("organization/employees", map);
}

From source file:com.assentisk.controller.OrganizationController.java

private ModelAndView importAssets(HttpServletRequest req, HttpServletResponse res) throws Exception {
    MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) req;
    MultipartFile multipartFile = multipartRequest.getFile("myexcel");
    String fileName = multipartFile.getOriginalFilename();
    map = new ModelMap();
    String name = req.getParameter("fileName");
    int status = 0;
    java.util.Date dt = new java.util.Date();
    java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String currentTime = sdf.format(dt);

    InetAddress ip = InetAddress.getLocalHost();
    String userId = (String) req.getSession().getAttribute("UserRecordID");

    byte[] b = multipartFile.getBytes();
    FileOutputStream fout = new FileOutputStream(new File(fileName));
    fout.write(b);/*from  w  ww .j  a va 2s  . c  om*/
    fout.flush();
    fout.close();
    try {
        String Assets = "", category = "", location = "", application = "", business = "";
        String initial = "", quantity = "", country = "", state = "", city = "", contact = "", email = "";
        List<String> dataStatus = new ArrayList<String>();
        int count = 0;
        int notcount = 0;

        FileInputStream file = new FileInputStream(new File(fileName));
        boolean flag = false;

        // Reading .xls files

        if (fileName.toLowerCase().endsWith(".xls")) {
            // Get the workbook instance for XLS file
            HSSFWorkbook workbook = new HSSFWorkbook(file);
            // Get first sheet from the workbook
            HSSFSheet sheet = workbook.getSheetAt(0);
            sheet.setColumnHidden((short) 14, false);
            // Iterate through each rows from first sheet            
            Iterator<Row> rowIterator = sheet.rowIterator();
            if (rowIterator.hasNext()) {

                while (rowIterator.hasNext()) {
                    short cellIndex = 0;
                    HSSFRow hsrow = (HSSFRow) rowIterator.next();
                    System.out.println("check this...hsrow." + hsrow.getRowNum());
                    if (hsrow.getRowNum() != 0) {
                        if (hsrow instanceof HSSFRow) {
                            try {
                                Assets = hsrow.getCell((short) 0).getStringCellValue();
                            } catch (Exception e) {
                                Assets = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());

                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": AssetName - "
                                            + e.getMessage());
                                }
                            }
                            try {
                                category = hsrow.getCell((short) 1).getStringCellValue();
                            } catch (Exception e) {
                                category = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Category - "
                                            + e.getMessage());
                                }
                            }

                            try {
                                application = hsrow.getCell((short) 2).getStringCellValue();
                            } catch (Exception e) {
                                application = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                            + ": Application - " + e.getMessage());
                                }
                            }
                            try {
                                business = hsrow.getCell((short) 3).getStringCellValue();
                            } catch (Exception e) {
                                business = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                            + ": BusinessProcess - " + e.getMessage());
                                }

                            }
                            try {
                                initial = String.valueOf(hsrow.getCell((short) 4).getNumericCellValue());
                                initial = String.valueOf(initial).split("\\.")[0];
                            } catch (Exception e) {
                                initial = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                            + ": InitialValue - " + e.getMessage());
                                }

                            }
                            try {

                                quantity = String.valueOf(hsrow.getCell((short) 5).getNumericCellValue());
                                quantity = String.valueOf(quantity).split("\\.")[0];

                            } catch (Exception e) {
                                quantity = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Quantity - "
                                            + e.getMessage());
                                }

                            }

                            try {
                                location = hsrow.getCell((short) 6).getStringCellValue();
                            } catch (Exception e) {
                                location = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum() + ": Location - "
                                            + e.getMessage());
                                }

                            }
                            try {
                                country = hsrow.getCell((short) 7).getStringCellValue();
                            } catch (Exception e) {
                                country = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                            + ": Location Country - " + e.getMessage());
                                }

                            }
                            try {
                                state = hsrow.getCell((short) 8).getStringCellValue();
                            } catch (Exception e) {
                                state = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                            + ": Location State - " + e.getMessage());
                                }

                            }
                            try {
                                city = hsrow.getCell((short) 9).getStringCellValue();
                            } catch (Exception e) {
                                city = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                            + ": Location City - " + e.getMessage());
                                }

                            }
                            try {
                                contact = hsrow.getCell((short) 10).getStringCellValue();
                            } catch (Exception e) {
                                contact = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                            + ": Location Contact Name - " + e.getMessage());
                                }

                            }
                            try {
                                email = hsrow.getCell((short) 11).getStringCellValue();
                                boolean isValid = false;
                                try {
                                    //
                                    // Create InternetAddress object and
                                    // validated the supplied
                                    // address which is this case is an email
                                    // address.
                                    InternetAddress internetAddress = new InternetAddress(email);
                                    internetAddress.validate();
                                    isValid = true;
                                } catch (AddressException e) {

                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                            + ": Location Email- " + e.getMessage());
                                }
                            } catch (Exception e) {
                                email = "";
                                System.out.println("Error Row: " + hsrow.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + hsrow.getRowNum()
                                            + ": Location Email - " + e.getMessage());
                                }

                            }

                            if (!location.equals("")) {

                                location = organizationDao.getLocIdByName(location, currentTime,
                                        Integer.parseInt(userId), country, state, city, contact, email);
                            } else {
                                location = "0";
                            }

                            if (!application.equals("")) {
                                application = organizationDao.getAppByName(application, currentTime,
                                        Integer.parseInt(userId));
                            } else {
                                application = "0";
                            }

                            if (!business.equals("")) {
                                business = organizationDao.getBusinessByName(business, currentTime,
                                        Integer.parseInt(userId));
                            } else {
                                business = "0";
                            }
                            if (!category.equals("")) {
                                category = organizationDao.getCategoryByName(category, currentTime,
                                        Integer.parseInt(userId));
                            } else {
                                category = "";
                            }
                            if (!category.equals("") && !Assets.equals("")) {
                                String duplicate = organizationDao.saveAssetData(Assets, category, location,
                                        application, business, "", currentTime, Integer.parseInt(userId),
                                        currentTime, Integer.parseInt(userId), "", "", initial, quantity);
                                masterDao.userAuditTrail("assentisk_assets", "1", "Insert", currentTime,
                                        Integer.parseInt(userId), ip.getHostAddress());
                                if (duplicate.equals("true")) {
                                    notcount = notcount + 1;
                                    dataStatus.add("Duplicate Row : " + hsrow.getRowNum());
                                } else {
                                    count = count + 1;

                                }
                            } else {
                                System.out.println("Error Row : " + hsrow.getRowNum()
                                        + "Not Inserted Row Asset Name : " + Assets);
                                notcount = notcount + 1;
                            }

                        }
                    }

                }
            } else {
                dataStatus.add("Please import valid Data file");
            }
            if (count > 0) {
                dataStatus.add("Succesfully inserted Row : " + count);

            }
            if (notcount > 0) {
                if (notcount == 1) {
                    dataStatus.add(notcount + " Row is not inserted");
                } else {
                    dataStatus.add(notcount + " Rows are not inserted");
                }

            }

        } // Reading .xlsx files
        else if (fileName.toLowerCase().endsWith(".xlsx")) {

            // Get the workbook instance for XLS file
            XSSFWorkbook wBook = new XSSFWorkbook(file);
            // Get first sheet from the workbook
            XSSFSheet sheet = wBook.getSheetAt(0);
            sheet.setColumnHidden((short) 14, false);
            // Iterate through each rows from first sheet
            Iterator<Row> rowIterator = sheet.rowIterator();

            while (rowIterator.hasNext()) {
                Row row = rowIterator.next();
                Iterator<Cell> cite = row.cellIterator();
                if (row.getRowNum() != 0) {
                    while (cite.hasNext()) {
                        Cell c = cite.next();
                        if (c.getColumnIndex() == 0) {
                            try {
                                Assets = c.toString();
                            } catch (Exception e) {
                                Assets = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum() + ": AssetName - "
                                            + e.getMessage());
                                }

                            }
                        }
                        if (c.getColumnIndex() == 1) {
                            try {
                                category = c.toString();
                            } catch (Exception e) {
                                category = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum() + ": Category - "
                                            + e.getMessage());
                                }
                            }
                        }
                        if (c.getColumnIndex() == 2) {
                            try {
                                application = c.toString();
                            } catch (Exception e) {
                                application = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum() + ": Application - "
                                            + e.getMessage());
                                }

                            }
                        }
                        if (c.getColumnIndex() == 3) {
                            try {
                                business = c.toString();
                            } catch (Exception e) {
                                business = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum()
                                            + ": BusinessProcess - " + e.getMessage());
                                }

                            }
                        }
                        if (c.getColumnIndex() == 4) {
                            try {
                                initial = c.toString();
                            } catch (Exception e) {
                                initial = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum() + ": InitialValue - "
                                            + e.getMessage());
                                }

                            }
                        }
                        if (c.getColumnIndex() == 5) {
                            try {
                                quantity = c.toString();
                            } catch (Exception e) {
                                quantity = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum() + ": Quantity - "
                                            + e.getMessage());
                                }

                            }
                        }
                        if (c.getColumnIndex() == 6) {
                            try {
                                location = c.toString();
                            } catch (Exception e) {
                                location = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum() + ": Location - "
                                            + e.getMessage());
                                }

                            }
                        }
                        if (c.getColumnIndex() == 7) {
                            try {
                                country = c.toString();
                            } catch (Exception e) {
                                country = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum()
                                            + ": Location Country - " + e.getMessage());
                                }

                            }
                        }
                        if (c.getColumnIndex() == 8) {
                            try {
                                state = c.toString();
                            } catch (Exception e) {
                                state = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum()
                                            + ": Location State - " + e.getMessage());
                                }

                            }
                        }
                        if (c.getColumnIndex() == 9) {
                            try {
                                city = c.toString();
                            } catch (Exception e) {
                                city = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum()
                                            + ": Location City - " + e.getMessage());
                                }

                            }
                        }
                        if (c.getColumnIndex() == 10) {
                            try {
                                contact = c.toString();
                            } catch (Exception e) {
                                contact = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum()
                                            + ": Location Contact Name - " + e.getMessage());
                                }

                            }
                        }
                        if (c.getColumnIndex() == 11) {
                            try {
                                email = c.toString();
                                boolean isValid = false;
                                try {
                                    //
                                    // Create InternetAddress object and
                                    // validated the supplied
                                    // address which is this case is an
                                    // email address.
                                    InternetAddress internetAddress = new InternetAddress(email);
                                    internetAddress.validate();
                                    isValid = true;
                                } catch (AddressException e) {
                                    if (e.getMessage() != null) {
                                        dataStatus.add("Wrong Data in  Row " + row.getRowNum()
                                                + ": Location Email- " + e.getMessage());
                                    }
                                }
                            } catch (Exception e) {
                                email = "";
                                System.out.println("Error Row: " + row.getRowNum() + " " + e.getMessage());
                                if (e.getMessage() != null) {
                                    dataStatus.add("Wrong Data in  Row " + row.getRowNum()
                                            + ": Location Email- " + e.getMessage());
                                }

                            }
                        }
                    }

                    if (!location.equals("")) {
                        location = organizationDao.getLocIdByName(location, currentTime,
                                Integer.parseInt(userId), country, state, city, contact, email);
                    } else {
                        location = "0";
                    }

                    if (!application.equals("")) {
                        application = organizationDao.getAppByName(application, currentTime,
                                Integer.parseInt(userId));
                    } else {
                        application = "0";
                    }

                    if (!business.equals("")) {
                        business = organizationDao.getBusinessByName(business, currentTime,
                                Integer.parseInt(userId));
                    } else {
                        business = "0";
                    }
                    if (!category.equals("")) {
                        category = organizationDao.getCategoryByName(category, currentTime,
                                Integer.parseInt(userId));
                    } else {
                        category = "";
                    }
                    if (!category.equals("") && !Assets.equals("")) {
                        String duplicate = organizationDao.saveAssetData(Assets, category, location,
                                application, business, "", currentTime, Integer.parseInt(userId), currentTime,
                                Integer.parseInt(userId), "", "", initial, quantity);
                        masterDao.userAuditTrail("assentisk_assets", "1", "Insert", currentTime,
                                Integer.parseInt(userId), ip.getHostAddress());
                        if (duplicate.equals("true")) {
                            notcount = notcount + 1;
                            dataStatus.add("Duplicate Row : " + row.getRowNum());
                        } else {
                            count = count + 1;

                        }
                    } else {
                        System.out.println(
                                "Error Row : " + row.getRowNum() + "Not Inserted Row Asset Name : " + Assets);

                    }
                }
            }

            if (count > 0) {
                System.out.println("Succesfully inserted Row :" + count);
                dataStatus.add("Succesfully inserted Row : " + count);

            }
            if (notcount > 0) {
                if (notcount == 1) {
                    dataStatus.add(notcount + " Row is not inserted");
                } else {
                    dataStatus.add(notcount + " Rows are not inserted");
                }
            }

            file.close();

            File f = new File(fileName);

            if (f.exists()) {
                f.delete();
            }
        }

        if (dataStatus.size() > 0) {
            map.addObject("dataStatus", dataStatus);
            map.addObject("datasize", "true");

        } else {
            map.addObject("datasize", "false");
        }
        file.close();
        File f = new File(fileName);
        if (f.exists()) {
            f.delete();
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
        req.setAttribute("message", "Invalid data file");
    } catch (IOException e) {
        e.printStackTrace();
        req.setAttribute("message", "Invalid data file");
    } catch (Exception e) {
        e.printStackTrace();
        req.setAttribute("message", "Invalid data file");
    }
    return new ModelAndView("assests/assets", map);
}

From source file:com.beans.AddressBookMBean.java

private ArrayList<Addressbook> readExcel(UploadedFile file) {

    ArrayList<Addressbook> adbooks = new ArrayList<Addressbook>();
    InputStreamReader reader = null;
    try {//from w w w.  j  a va  2s .co m

        File myFile = new File(file.getFileName());
        FileUtils.copyInputStreamToFile(file.getInputstream(), myFile);
        FileInputStream fis = new FileInputStream(myFile);
        // Finds the workbook instance for XLSX file
        XSSFWorkbook myWorkBook = new XSSFWorkbook(fis);
        // Return first sheet from the XLSX workbook
        XSSFSheet mySheet = myWorkBook.getSheetAt(0);
        // Get iterator to all the rows in current sheet
        Iterator<Row> rowIterator = mySheet.iterator();
        // Traversing over each row of XLSX file
        while (rowIterator.hasNext()) {
            Addressbook add = new Addressbook();
            Row row = rowIterator.next();

            // For each row, iterate through each columns
            Iterator<Cell> cellIterator = row.cellIterator();
            int i = 0;
            while (cellIterator.hasNext()) {

                Cell cell = cellIterator.next();
                cell.setCellType(Cell.CELL_TYPE_STRING);
                System.out.print("Cell:" + i + ":" + cell.getStringCellValue() + "\t");
                switch (cell.getCellType()) {
                case Cell.CELL_TYPE_STRING:
                    if (i == 0) {
                        add.setPhonenumber(cell.getStringCellValue());
                    } else {
                        add.setName(cell.getStringCellValue());
                    }
                    break;

                case Cell.CELL_TYPE_NUMERIC:
                    if (i == 0) {
                        cell.setCellType(Cell.CELL_TYPE_STRING);
                        add.setPhonenumber(cell.getStringCellValue());
                    }
                    System.out.print(cell.getStringCellValue() + "\t");
                    break;
                default:
                }
                i++;
            }
            if (add.getPhonenumber() != null) {
                adbooks.add(add);
            }
        }
        System.out.println("");
    } catch (IOException ex) {
        Logger.getLogger(AddressBookMBean.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
    }
    return adbooks;
}

From source file:com.blackducksoftware.tools.commonframework.standard.protex.report.template.TemplateReader.java

License:Apache License

/**
 * Populates the internal maps based on user specified columns This is used
 * to gain TemplateColumn info from existing sheets (non-templates).
 *
 * @param book//from   w  ww  .j  a v  a  2 s  .com
 *            the book
 * @param columnNames
 *            the column names
 * @throws Exception
 *             the exception
 */
public void generateMappingsFromList(XSSFWorkbook book, List<String> columnNames) throws Exception {
    for (int i = 0; i < book.getNumberOfSheets(); i++) {
        Sheet sheet = book.getSheetAt(i);
        TemplateSheet templateSheet = new TemplateSheet(sheet.getSheetName());
        populateColumns(sheet, templateSheet, columnNames);
        sheetMap.put(sheet.getSheetName(), templateSheet);
        i++;
    }
}

From source file:com.carlos.projects.billing.ExcelToMySQLImporter.java

License:Open Source License

public Long importData(MultipartFile excelFile) throws ImportException {
    XSSFWorkbook workbook;
    File componentsFile;//from   w ww .j  a  va2s .  c  o m
    try {
        componentsFile = new File("components-" + new Date().getTime() + ".xlsx");
        excelFile.transferTo(componentsFile);
        workbook = new XSSFWorkbook(componentsFile.getAbsolutePath());
    } catch (IOException e) {
        throw new ImportException(messages.getProperty("import.error"), e);
    }
    workbook.setMissingCellPolicy(Row.CREATE_NULL_AS_BLANK);
    Iterator<Row> rowIterator = workbook.getSheetAt(workbook.getActiveSheetIndex()).iterator();
    Long numberOfImportedItems = 0L;
    log.info("Starting reading from file " + excelFile.getOriginalFilename()
            + " to import components to database");
    while (rowIterator.hasNext()) {
        Row row = rowIterator.next();
        String familyCode = row.getCell(FAMILY_CODE).getStringCellValue().trim();
        //The first row of the excel file is the one with the titles
        if (row.getRowNum() != 0 && StringUtils.isNotBlank(familyCode)) {
            Family family = familyDAO.getById(Family.class, familyCode);
            boolean saveFamily = false;
            if (family == null) {
                family = createFamilyFromRow(row);
                saveFamily = true;
            }
            String componentCode = row.getCell(COMPONENT_CODE).getStringCellValue().trim();
            Component component = componentDAO.getById(Component.class, componentCode);
            boolean addComponent = false;
            if (component == null) {
                addComponent = true;
                component = createComponent(row, family);
                numberOfImportedItems += 1L;
            }
            if (saveFamily) {
                if (addComponent) {
                    family.addComponent(component);
                }
                familyDAO.save(family);
                log.info("Family " + family + " saved into the database");
            } else {
                componentDAO.save(component);
                log.info("Component " + component + " saved into the database");
            }
        }
    }
    closeAndDeleteTemporaryFiles(componentsFile);
    log.info("Components import to database finished");
    return numberOfImportedItems;
}

From source file:com.centurylink.mdw.workflow.drools.Excel2007Parser.java

License:Apache License

public void parseFile(InputStream inStream) {
    try {/*from w  ww.  j  a  v a  2s .  co  m*/
        XSSFWorkbook workbook = new XSSFWorkbook(inStream);
        if (useFirstSheet) {
            XSSFSheet sheet = workbook.getSheetAt(0);
            processSheet(sheet, listeners.get(DEFAULT_RULESHEET_NAME));
        } else {
            for (String sheetName : listeners.keySet()) {
                XSSFSheet sheet = workbook.getSheet(sheetName);
                processSheet(sheet, listeners.get(sheetName));
            }
        }
    } catch (IOException ex) {
        throw new DecisionTableParseException(ex.getMessage(), ex);
    }
}

From source file:com.cloudera.sa.ExcelRecordReader.java

License:Apache License

@Override
public void initialize(InputSplit split, TaskAttemptContext context) throws IOException, InterruptedException {
    FileSplit fileSplit = (FileSplit) split;
    Configuration conf = context.getConfiguration();
    Path file = fileSplit.getPath();
    FileSystem fs = file.getFileSystem(conf);
    this.in = fs.open(file);
    XSSFWorkbook workbook = new XSSFWorkbook(this.in);
    XSSFSheet sheet = workbook.getSheetAt(0);
    this.totalRows = sheet.getPhysicalNumberOfRows();
    this.processedRows = 0;
    this.rowIterator = sheet.rowIterator();
}