Example usage for org.apache.poi.xssf.usermodel XSSFRow getCell

List of usage examples for org.apache.poi.xssf.usermodel XSSFRow getCell

Introduction

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

Prototype

@Override
public XSSFCell getCell(int cellnum) 

Source Link

Document

Returns the cell at the given (0 based) index, with the org.apache.poi.ss.usermodel.Row.MissingCellPolicy from the parent Workbook.

Usage

From source file:de.fionera.javamailer.dataProcessors.parseFilesForImport.java

/**
 * Gets a XLSX file and parse it//from  ww  w  .  ja va  2s  .c om
 * @param file The XLSX File that you want to get parsed
 * @return A ArrayList where the first object is a Array containing the Data and the Second the Header
 */
public ArrayList<Object> parseXLSXFile(File file) {
    int index = -1;
    XSSFWorkbook workbook = null;
    try {
        try {
            FileInputStream inputStream = new FileInputStream(file);
            workbook = new XSSFWorkbook(inputStream);
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        assert workbook != null;
        String[] strings = new String[workbook.getNumberOfSheets()];
        //get all sheet names from selected workbook
        for (int i = 0; i < strings.length; i++) {
            strings[i] = workbook.getSheetName(i);
        }
        JFrame frame = new JFrame("Input Dialog");

        String selectedsheet = (String) JOptionPane.showInputDialog(frame,
                "Which worksheet you want to import ?", "Select Worksheet", JOptionPane.QUESTION_MESSAGE, null,
                strings, strings[0]);

        if (selectedsheet != null) {
            for (int i = 0; i < strings.length; i++) {
                if (workbook.getSheetName(i).equalsIgnoreCase(selectedsheet))
                    index = i;
            }
            XSSFSheet sheet = workbook.getSheetAt(index);
            XSSFRow row = sheet.getRow(0);

            if (row != null) {
                headers = new String[row.getLastCellNum()];

                for (int i = 0; i < row.getLastCellNum(); i++) {
                    headers[i] = row.getCell(i).toString();
                }
            }

            data = new String[sheet.getLastRowNum()][];
            for (int j = 1; j < sheet.getLastRowNum() + 1; j++) {
                row = sheet.getRow(j);
                int rowCount = row.getLastCellNum();
                String[] dataRow = new String[rowCount];
                for (int i = 0; i < rowCount; i++) {
                    XSSFCell cell = row.getCell(i, org.apache.poi.ss.usermodel.Row.CREATE_NULL_AS_BLANK);
                    dataRow[i] = cell.toString();
                }
                data[j - 1] = dataRow;
            }
        } else {
            return null;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    ArrayList<Object> returnData = new ArrayList<>();
    returnData.add(data);
    returnData.add(headers);

    return returnData;
}

From source file:de.tuttas.servlets.DokuServlet.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from  ww  w.ja v  a2 s .co  m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String auth = request.getParameter("auth_token");
    String service = request.getParameter("service_key");
    Log.d("auth_token=" + auth);
    if (request.getParameter("cmd") == null || request.getParameter("idklasse") == null
            || request.getParameter("from") == null) {
        Log.d("Info zeigen");
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Doku Servlet Usage</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Doku Servlet @ " + request.getContextPath() + "</h1>");
            out.println(
                    "<a href='?cmd=Verlauf&idklasse=3608&from=2015-09-08&debug=" + Config.getInstance().debug
                            + "' target='_pdf'>Usage: ?cmd=verlauf&idklasse=3608&from=2015-09-08</a>");
            out.println("</body>");
            out.println("</html>");
        }
    } else {
        if (Config.getInstance().debug
                || service != null && auth != null && Authenticator.getInstance().isAuthTokenValid(auth)) {
            Log.d("ID Klasse = " + request.getParameter("idklasse"));
            Klasse kl = em.find(Klasse.class, Integer.parseInt(request.getParameter("idklasse")));
            String cmd = request.getParameter("cmd");
            String type = request.getParameter("type");
            String sidSchuljahr = request.getParameter("idSchuljahr");
            int idSchuljahr = -1;
            if (sidSchuljahr != null) {
                try {
                    idSchuljahr = Integer.parseInt(sidSchuljahr);
                } catch (NumberFormatException nux) {

                }
            }
            String filter1 = request.getParameter("dokufilter1");
            String filter2 = request.getParameter("dokufilter2");
            int anwFilter1 = 0;
            int anwFilter2 = 0;
            if (request.getParameter("anwfilter1") != null) {
                anwFilter1 = Integer.parseInt(request.getParameter("anwfilter1"));
            }
            if (request.getParameter("anwfilter2") != null) {
                anwFilter2 = Integer.parseInt(request.getParameter("anwfilter2"));
            }
            Authenticator a = Authenticator.getInstance();
            String me = a.getUser(auth);
            Log.d("Verlauf Filter1=" + filter1 + " Verlauf Filter2=" + filter2 + " me=" + me);
            Log.d("Anwesenheitsfilter 1 = " + anwFilter1 + " Filter2=" + anwFilter2);
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            Date parsedFrom = null;
            try {
                parsedFrom = (Date) dateFormat.parse(request.getParameter("from"));
            } catch (ParseException ex) {
                Logger.getLogger(DokuServlet.class.getName()).log(Level.SEVERE, null, ex);
            }
            Date parsedTo = null;
            if (request.getParameter("to") == null) {
                parsedTo = new java.sql.Date(System.currentTimeMillis());
            } else {
                try {
                    parsedTo = (Date) dateFormat.parse(request.getParameter("to"));
                } catch (ParseException ex) {
                    Logger.getLogger(DokuServlet.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            Log.d("setze To auf " + new java.sql.Date(parsedTo.getTime()));
            Log.d("type=" + type + " cmd=" + cmd + " Klasse=" + kl.getKNAME());
            if (type.compareTo("csv") == 0) {

                MyTableDataModel myModel = null;
                if (cmd.compareTo("Betriebe") == 0) {
                    response.setContentType(
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8");
                    response.setCharacterEncoding("UTF-8");
                    String fileName = cmd + "_" + kl.getKNAME() + "_"
                            + new java.sql.Date(parsedTo.getTime()).toString() + ".xlsx";
                    fileName = URLEncoder.encode(fileName, "UTF-8");
                    String contentDisposition = "attachment; filename=\"" + fileName + "\"; filename*=UTF-8''"
                            + fileName;
                    response.addHeader("Content-Disposition", contentDisposition);

                    myModel = getModelBetriebsliste(kl);
                    XSSFWorkbook wb = ExcelUtil.readExcel(
                            Config.getInstance().TEMPLATE_FILE_PATH + cmd + ".xlsx",
                            new String[] { "Betriebe" }, myModel.getRows(), myModel.getCols());
                    wb = myModel.toExcel(wb, 0);
                    wb.write(response.getOutputStream());
                } else if (cmd.compareTo("Notenliste") == 0) {
                    response.setContentType(
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8");
                    response.setCharacterEncoding("UTF-8");
                    String fileName = cmd + "_" + kl.getKNAME() + "_"
                            + new java.sql.Date(parsedTo.getTime()).toString() + ".xlsx";
                    fileName = URLEncoder.encode(fileName, "UTF-8");
                    String contentDisposition = "attachment; filename=\"" + fileName + "\"; filename*=UTF-8''"
                            + fileName;
                    response.addHeader("Content-Disposition", contentDisposition);

                    myModel = getModelNotenliste(kl, idSchuljahr);
                    XSSFWorkbook wb = ExcelUtil.readExcel(
                            Config.getInstance().TEMPLATE_FILE_PATH + cmd + ".xlsx",
                            new String[] { "Notenliste" }, myModel.getRows(), myModel.getCols());
                    wb = myModel.toExcel(wb, 0);
                    wb.write(response.getOutputStream());

                } else if (cmd.compareTo("Fehlzeiten") == 0) {
                    response.setContentType(
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8");
                    response.setCharacterEncoding("UTF-8");
                    String fileName = cmd + "_" + kl.getKNAME() + "_"
                            + new java.sql.Date(parsedFrom.getTime()).toString() + "-"
                            + new java.sql.Date(parsedTo.getTime()).toString() + ".xlsx";
                    fileName = URLEncoder.encode(fileName, "UTF-8");
                    String contentDisposition = "attachment; filename=\"" + fileName + "\"; filename*=UTF-8''"
                            + fileName;
                    response.addHeader("Content-Disposition", contentDisposition);

                    myModel = getModelFehlzeiten(kl, parsedFrom, parsedTo);
                    XSSFWorkbook wb = ExcelUtil.readExcel(
                            Config.getInstance().TEMPLATE_FILE_PATH + cmd + ".xlsx",
                            new String[] { "Fehlzeiten" }, myModel.getRows(), myModel.getCols());
                    wb = myModel.toExcel(wb, 0);
                    wb.write(response.getOutputStream());
                } else if (cmd.compareTo("Anwesenheit") == 0) {
                    response.setContentType(
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8");
                    response.setCharacterEncoding("UTF-8");
                    String fileName = cmd + "_" + kl.getKNAME() + "_"
                            + new java.sql.Date(parsedFrom.getTime()).toString() + "-"
                            + new java.sql.Date(parsedTo.getTime()).toString() + ".xlsx";
                    fileName = URLEncoder.encode(fileName, "UTF-8");
                    String contentDisposition = "attachment; filename=\"" + fileName + "\"; filename*=UTF-8''"
                            + fileName;
                    response.addHeader("Content-Disposition", contentDisposition);

                    myModel = getModelAnwesenheit(kl, parsedFrom, parsedTo, anwFilter1, anwFilter2);
                    XSSFWorkbook wb = ExcelUtil.readExcel(
                            Config.getInstance().TEMPLATE_FILE_PATH + cmd + ".xlsx",
                            new String[] { "Anwesenheit" }, myModel.getRows(), myModel.getCols());
                    wb = myModel.toExcel(wb, 0);
                    wb.write(response.getOutputStream());

                } else if (cmd.compareTo("Verlauf") == 0) {

                    response.setContentType(
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8");
                    response.setCharacterEncoding("UTF-8");
                    String fileName = cmd + "_" + kl.getKNAME() + "_"
                            + new java.sql.Date(parsedFrom.getTime()).toString() + "-"
                            + new java.sql.Date(parsedTo.getTime()).toString() + ".xlsx";
                    fileName = URLEncoder.encode(fileName, "UTF-8");
                    String contentDisposition = "attachment; filename=\"" + fileName + "\"; filename*=UTF-8''"
                            + fileName;
                    response.addHeader("Content-Disposition", contentDisposition);

                    myModel = getModelVerlauf(kl, parsedFrom, parsedTo, filter1, filter2, me);
                    XSSFWorkbook wb = ExcelUtil.readExcel(
                            Config.getInstance().TEMPLATE_FILE_PATH + cmd + ".xlsx",
                            new String[] { "Unterrichtsverlauf" }, myModel.getRows(), myModel.getCols());
                    wb = myModel.toExcel(wb, 0);
                    wb.write(response.getOutputStream());
                } else if (cmd.compareTo("UmfrageAuswertung") == 0) {
                    Umfrage u = em.find(Umfrage.class, anwFilter1);
                    Umfrage u2 = em.find(Umfrage.class, anwFilter2);
                    response.setContentType(
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8");
                    response.setCharacterEncoding("UTF-8");
                    String fileName = "Auswertung_" + u.getNAME() + "_vom_"
                            + new java.sql.Date(parsedTo.getTime()).toString() + ".xlsx";
                    fileName = URLEncoder.encode(fileName, "UTF-8");
                    String contentDisposition = "attachment; filename=\"" + fileName + "\"; filename*=UTF-8''"
                            + fileName;
                    response.addHeader("Content-Disposition", contentDisposition);
                    List<UmfrageResult> res1 = UmfrageUtil.getUmfrageResult(em, auth, anwFilter1, filter1);
                    List<UmfrageResult> res2 = UmfrageUtil.getUmfrageResult(em, auth, anwFilter2, filter2);
                    res2 = UmfrageUtil.getComparableResultList(res1, res2);
                    myModel = getModelUmfrageAuswertung(res1);
                    XSSFWorkbook wb = ExcelUtil.readExcel(
                            Config.getInstance().TEMPLATE_FILE_PATH + u.getNAME() + ".xlsx",
                            new String[] { "Hauptgruppe", "Vergleichsgruppe", "Info" }, myModel.getRows(),
                            myModel.getCols());
                    wb = myModel.toExcel(wb, 0);
                    myModel = getModelUmfrageAuswertung(res2);
                    wb = myModel.toExcel(wb, 1);
                    XSSFSheet s = wb.getSheetAt(2);
                    XSSFRow r = s.getRow(0);
                    r.getCell(0).setCellValue(u.getNAME());
                    r.getCell(1).setCellValue(filter1);
                    r = s.getRow(1);
                    r.getCell(0).setCellValue(u2.getNAME());
                    r.getCell(1).setCellValue(filter2);
                    wb.write(response.getOutputStream());
                } else {
                    PrintWriter out = response.getWriter();
                    response.setContentType("application/json; charset=UTF-8");
                    String r = "{\"error\":true,\"msg\":\"Kann fr " + cmd + " kein Datenmodell erzeugen!\"}";
                    out.print(r);
                }
            } else {
                response.setContentType("application/pdf");
                //Get the output stream for writing PDF object        
                OutputStream out = response.getOutputStream();
                try {
                    String kopf = "";
                    kopf += ("<table border='1' align='center' width='100%'>");
                    kopf += ("<tr>");
                    kopf += ("<td rowspan=\"3\" width='150px'></td>");
                    kopf += ("<td align='center'><h2>Multi Media Berufsbildende Schulen Hannover</h2></td>");
                    if (cmd.compareTo("Verlauf") == 0) {
                        kopf += ("<td colspan=\"2\" align='center'><b>Digitales Klassenbuch Unterrichtsverlauf</b></td>");
                    } else if (cmd.compareTo("Anwesenheit") == 0) {
                        kopf += ("<td colspan=\"2\" align='center'><b>Digitales Klassenbuch Anwesenheit</b></td>");
                    } else if (cmd.compareTo("Fehlzeiten") == 0) {
                        kopf += ("<td colspan=\"2\" align='center'><b>Digitales Klassenbuch Fehlzeiten</b></td>");
                    } else if (cmd.compareTo("Stundenplan") == 0) {
                        kopf += ("<td colspan=\"2\" align='center'><b>Digitales Klassenbuch Stundenplan</b></td>");
                    } else if (cmd.compareTo("Vertretungsplan") == 0) {
                        kopf += ("<td colspan=\"2\" align='center'><b>Digitales Klassenbuch Vertretungsplan</b></td>");
                    } else if (cmd.compareTo("Notenliste") == 0) {
                        kopf += ("<td colspan=\"2\" align='center'><b>Digitales Klassenbuch Notenliste</b></td>");
                    } else if (cmd.compareTo("Betriebe") == 0) {
                        kopf += ("<td colspan=\"2\" align='center'><b>Digitales Klassenbuch Betriebsliste</b></td>");
                    } else if (cmd.compareTo("UmfrageAuswertung") == 0) {
                        kopf += ("<td colspan=\"2\" align='center'><b>Digitales Klassenbuch Auswertung Umfrage</b></td>");
                    }
                    kopf += ("</tr>");
                    kopf += ("<tr>");
                    if (cmd.compareTo("UmfrageAuswertung") == 0) {
                        Umfrage u1 = em.find(Umfrage.class, anwFilter1);
                        Umfrage u2 = em.find(Umfrage.class, anwFilter2);
                        kopf += ("<td  align='center' rowspan=\"2\" style=\"padding:5px;font-size: 11\">Hauptgruppe: ("
                                + u1.getNAME() + "/" + filter1 + ")<br></br> Vergleichsgruppe: (" + u2.getNAME()
                                + "/" + filter2 + ")</td>");
                    } else {
                        kopf += ("<td  align='center' rowspan=\"2\"><h3>Klasse/ Kurs: " + kl.getKNAME()
                                + "</h3></td>");
                    }
                    kopf += ("<td  style=\"font-size: 11;\">Verantwortlicher: " + kl.getID_LEHRER() + "</td>");
                    kopf += ("<td  style=\"font-size: 11;\">geprft</td>");
                    kopf += ("</tr>");
                    kopf += ("<tr>");
                    DateFormat df = new SimpleDateFormat("dd.MM.yyyy");
                    Calendar c = df.getCalendar();
                    c.setTimeInMillis(System.currentTimeMillis());
                    String dat = c.get(Calendar.DAY_OF_MONTH) + "." + (c.get(Calendar.MONTH) + 1) + "."
                            + c.get(Calendar.YEAR);
                    kopf += ("<td  style=\"font-size: 11;\">Ausdruck am: " + dat + "</td>");
                    kopf += ("<td  style=\"font-size: 11;\">Datum</td>");
                    kopf += ("</tr>");
                    kopf += ("</table>");
                    kopf += ("<p>&nbsp;</p>");

                    Document document;
                    if (cmd.compareTo("Verlauf") == 0) {
                        response.addHeader("Content-Disposition",
                                "attachment; filename=Verlauf_" + kl.getKNAME() + "_"
                                        + new java.sql.Date(parsedFrom.getTime()).toString() + "-"
                                        + new java.sql.Date(parsedTo.getTime()).toString() + ".pdf");
                        document = createVerlauf(kl, kopf, parsedFrom, parsedTo, out, filter1, filter2, me);
                    } else if (cmd.compareTo("Portfolio") == 0) {
                        response.addHeader("Content-Disposition",
                                "attachment; filename=Portfolio_" + kl.getKNAME() + ".pdf");
                        document = createPortfolio(kl, out);
                    } else if (cmd.compareTo("Anwesenheit") == 0) {
                        response.addHeader("Content-Disposition",
                                "attachment; filename=Anwesenheit_" + kl.getKNAME() + "_"
                                        + new java.sql.Date(parsedFrom.getTime()).toString() + "-"
                                        + new java.sql.Date(parsedTo.getTime()).toString() + ".pdf");
                        document = createAnwesenheit(kl, kopf, parsedFrom, parsedTo, out, anwFilter1,
                                anwFilter2);
                    } else if (cmd.compareTo("Fehlzeiten") == 0) {
                        response.addHeader("Content-Disposition",
                                "attachment; filename=Fehlzeiten_" + kl.getKNAME() + "_"
                                        + new java.sql.Date(parsedFrom.getTime()).toString() + "-"
                                        + new java.sql.Date(parsedTo.getTime()).toString() + ".pdf");
                        MyTableDataModel myModel = getModelFehlzeiten(kl, parsedFrom, parsedTo);
                        document = createFehlzeiten(kl, kopf, parsedFrom, parsedTo, out);
                    } else if (cmd.compareTo("Vertretungsliste") == 0) {
                        response.addHeader("Content-Disposition",
                                "attachment; filename=Vertretungsliste_"
                                        + new java.sql.Date(parsedFrom.getTime()).toString() + "-"
                                        + new java.sql.Date(parsedTo.getTime()).toString() + ".pdf");
                        document = createVertretungsliste(parsedFrom, parsedTo, out);
                    } else if (cmd.compareTo("Notenliste") == 0) {
                        response.addHeader("Content-Disposition",
                                "attachment; filename=Notenliste_" + kl.getKNAME() + "_"
                                        + new java.sql.Date(parsedTo.getTime()).toString() + ".pdf");
                        MyTableDataModel myModel = getModelNotenliste(kl, idSchuljahr);
                        Schuljahr schuljahr = em.find(Schuljahr.class, idSchuljahr);
                        document = createNotenliste(myModel, kopf, out, schuljahr.getNAME());
                    } else if (cmd.compareTo("Betriebe") == 0) {
                        response.addHeader("Content-Disposition",
                                "attachment; filename=Betriebsliste_" + kl.getKNAME() + "_"
                                        + new java.sql.Date(parsedTo.getTime()).toString() + ".pdf");
                        MyTableDataModel myModel = getModelBetriebsliste(kl);
                        document = createBetriebsListe(myModel, kopf, out);
                    } else if (cmd.compareTo("UmfrageAuswertung") == 0) {
                        response.addHeader("Content-Disposition", "attachment; filename=UmfrageAuswertung_"
                                + new java.sql.Date(parsedTo.getTime()).toString() + ".pdf");
                        List<UmfrageResult> res1 = UmfrageUtil.getUmfrageResult(em, auth, anwFilter1, filter1);
                        List<UmfrageResult> res2 = UmfrageUtil.getUmfrageResult(em, auth, anwFilter2, filter2);
                        res2 = UmfrageUtil.getComparableResultList(res1, res2);
                        if (res1 != null && res2 != null) {
                            Log.d("erzeuge pdf Dokument");
                            document = createUmfrageauswertung(res1, res2, anwFilter1, anwFilter2, filter1,
                                    filter2, kopf, out);
                        }
                    }

                } catch (DocumentException exc) {
                    Log.d("Document Exception " + exc.getMessage());
                    exc.printStackTrace();
                    throw new IOException(exc.getMessage());
                } catch (ParseException ex) {
                    Log.d("Parse Exception " + ex.getMessage());
                    Logger.getLogger(DokuServlet.class.getName()).log(Level.SEVERE, null, ex);
                } finally {
                    out.close();
                }

            }

        } else {
            response.setContentType("text/html;charset=UTF-8");
            try (PrintWriter out = response.getWriter()) {
                out.println("<!DOCTYPE html>");
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Doku Servlet Usage</title>");
                out.println("</head>");
                out.println("<body>");
                out.println("<h1>You are not authorized</h1>");
                out.println("</body>");
                out.println("</html>");
            }
        }
    }
}

From source file:de.tuttas.servlets.MyTableDataModel.java

public XSSFWorkbook toExcel(XSSFWorkbook wb, int sheetNumer) {
    XSSFSheet sh = wb.getSheetAt(sheetNumer);
    for (int y = 0; y < rows; y++) {
        XSSFRow r = sh.getRow(y);
        for (int x = 0; x < cols; x++) {
            XSSFCell c = r.getCell(x);
            String d = data[y][x];
            Log.d("Write to Cell " + d);
            if (d != null) {
                try {
                    double value = Double.parseDouble(d);
                    c.setCellValue(value);
                } catch (NumberFormatException nux) {
                    c.setCellValue(d);//from w  ww  .  j a  va2 s  .c o m
                }
            }

        }
    }
    return wb;
}

From source file:edu.jhu.cvrg.timeseriesstore.opentsdb.store.ExcelStorer.java

License:Apache License

@Override
public ArrayList<IncomingDataPoint> extractTimePoints(InputStream inputStream, String[] channels, int samples,
        long epochTime) {

    ArrayList<IncomingDataPoint> dataPoints = new ArrayList<IncomingDataPoint>();
    XSSFWorkbook subjectWorkbook = getWorkbook(inputStream);
    HashMap<String, String> tags = new HashMap<String, String>();

    for (int i = 0; i < subjectWorkbook.getNumberOfSheets(); i++) {
        XSSFSheet sheetIn = subjectWorkbook.getSheetAt(i);
        for (int r = 1; r <= sheetIn.getLastRowNum(); r++) {
            long currentTime = epochTime;
            XSSFRow row = sheetIn.getRow(r);
            String channel = getChannelName(i, channels);
            dataPoints.add(new IncomingDataPoint("ecg.uv." + channel, currentTime,
                    String.valueOf(row.getCell(1).getNumericCellValue()), tags));
            tags.put("format", "excel");
            currentTime++;/*  ww w .  ja v a 2  s . c  om*/
        }
    }
    return dataPoints;
}

From source file:edu.vt.vbi.patric.common.ExcelHelper.java

License:Apache License

/**
 * Returns the width the Column should be (XSSF version)
 * @param sheet - sheet of workbook//w  ww. j a  va  2 s .c om
 * @param col - the column to work with
 * @return length (in characters) of that column
 */
private int decideXColumnWidth(XSSFSheet sheet, int col) {
    int titleLength = sheet.getRow(0).getCell(col).getStringCellValue().length();
    int longestString = titleLength;

    for (int i = 0; i < sheet.getLastRowNum(); i++) {
        XSSFRow row = sheet.getRow(i);
        XSSFCell cell = row.getCell(col);
        int temp = cell.getStringCellValue().length();
        if (temp > titleLength * 2) {
            longestString = temp;
        }
    }

    if (longestString > titleLength * 4) {
        longestString = titleLength * 4;
    }

    return longestString;
}

From source file:egovframework.rte.fdl.excel.util.AbstractPOIExcelView.java

License:Apache License

/**
* Convenient method to obtain the cell in the given sheet, row and column.
* 
* <p>Creates the row and the cell if they still doesn't already exist.
* Thus, the column can be passed as an int, the method making the needed downcasts.</p>
* 
* @param sheet a sheet object. The first sheet is usually obtained by workbook.getSheetAt(0)
* @param row thr row number//from www . j  a v a2s .  c o m
* @param col the column number
* @return the XSSFCell
*/
protected XSSFCell getCell(XSSFSheet sheet, int row, int col) {
    XSSFRow sheetRow = sheet.getRow(row);
    if (sheetRow == null) {
        sheetRow = sheet.createRow(row);
    }
    XSSFCell cell = sheetRow.getCell((short) col);
    if (cell == null) {
        cell = sheetRow.createCell((short) col);
    }
    return cell;
}

From source file:eu.alpinweiss.filegen.command.steps.impl.ReadInputParametersStepImpl.java

License:Apache License

@Override
public void execute(Model model) {
    String parameter = model.getParameter(INPUT_PARAMETER);
    model.getFieldDefinitionList().clear();

    try {/*from  w w  w. ja  v  a2  s. c  o m*/
        FileInputStream file = new FileInputStream(new File(parameter));

        try (XSSFWorkbook workbook = new XSSFWorkbook(file)) {
            XSSFSheet sheet = workbook.getSheetAt(0);

            int iterationCount = readIterationCount(sheet);
            String lineSeparator = readLineSeparator(sheet);
            String outputFileName = readOutputFileName(sheet);
            int sheetCount = readSheetCount(sheet);

            outputWriterHolder
                    .writeValueInLine("Iterations: " + iterationCount + " lineSeparator: " + lineSeparator);
            List<Object[]> fields = new ArrayList<>(sheet.getLastRowNum() - 4);

            for (int i = 5; i <= sheet.getLastRowNum(); i++) {

                XSSFRow row = sheet.getRow(i);
                Object[] fieldDefinition = new Object[row.getLastCellNum()];

                for (int y = 0; y < row.getLastCellNum(); y++) {
                    XSSFCell cell = row.getCell(y);

                    if (cell == null) {
                        fieldDefinition[y] = null;
                        break;
                    }

                    cell.setCellType(Cell.CELL_TYPE_STRING);
                    fieldDefinition[y] = cell.toString();
                }
                fields.add(fieldDefinition);
            }

            file.close();

            for (Object[] field : fields) {
                FieldDefinition fieldDefinition = new FieldDefinition();
                String name = getStringName(field[0]);
                if (name == null || "".equals(name)) {
                    break;
                }
                fieldDefinition.setFieldName(name);
                String fieldType = (String) field[1];
                fieldDefinition.setType(
                        fieldType != null ? FieldType.valueOf(fieldType.toUpperCase()) : FieldType.STRING);
                String fieldNeedToGenerate = (String) field[2];
                fieldDefinition.setGenerate(
                        fieldNeedToGenerate != null ? Generate.valueOf(fieldNeedToGenerate.toUpperCase())
                                : Generate.N);
                if ((field.length > 3)) {
                    if (field[3] != null && field[3] instanceof Number) {
                        fieldDefinition.setPattern(field[3].toString());
                    } else {
                        fieldDefinition.setPattern((String) field[3]);
                    }
                }
                model.getFieldDefinitionList().add(fieldDefinition);
            }

            model.setRowCount(iterationCount);
            model.setLineSeparator(lineSeparator);
            model.setOutputFileName(outputFileName);
            model.setDataStorageCount(sheetCount);

            outputWriterHolder.writeValueInLine("");

            workbook.close();
        }

    } catch (FileNotFoundException e) {
        LOGGER.error("Can't read input parameters file", e);
    } catch (IOException e) {
        LOGGER.error("Error while reading xlsx file", e);
    }
}

From source file:eu.alpinweiss.filegen.command.steps.impl.ReadInputParametersStepImpl.java

License:Apache License

private int readSheetCount(XSSFSheet sheet) {
    XSSFRow row = sheet.getRow(3);
    Cell cell = row.getCell(1);
    return (int) cell.getNumericCellValue();
}

From source file:eu.alpinweiss.filegen.command.steps.impl.ReadInputParametersStepImpl.java

License:Apache License

private String readOutputFileName(XSSFSheet sheet) {
    XSSFRow row = sheet.getRow(2);
    Cell cell = row.getCell(1);
    return cell.getStringCellValue();
}

From source file:eu.alpinweiss.filegen.command.steps.impl.ReadInputParametersStepImpl.java

License:Apache License

private int readIterationCount(XSSFSheet sheet) {
    XSSFRow row = sheet.getRow(0);
    Cell cell = row.getCell(1);
    return (int) cell.getNumericCellValue();
}