List of usage examples for org.apache.poi.ss.usermodel Workbook getSheetAt
Sheet getSheetAt(int index);
From source file:com.alibaba.ims.platform.util.ExcelUtil.java
License:Open Source License
/** * ?//from w w w . j a v a 2s. com * * @param inputStream * @return */ public static int getRowCount(InputStream inputStream) { Workbook workbook = createWorkbook(inputStream); return workbook == null ? 0 : workbook.getSheetAt(0).getPhysicalNumberOfRows(); }
From source file:com.alibaba.ims.platform.util.ExcelUtil.java
License:Open Source License
/** * ?//from w ww . j a va2 s. com * * @param file * @return */ public static int getRowCount(File file) { Workbook workbook = createWorkbook(file); return workbook == null ? 0 : workbook.getSheetAt(0).getPhysicalNumberOfRows(); }
From source file:com.alibaba.ims.platform.util.ExcelUtil.java
License:Open Source License
/** * ?// ww w. j ava2s .c o m * * @param workbook * @return */ private static List<String[]> readFromWorkbook(Workbook workbook) { List<String[]> rowList = new ArrayList<String[]>(); if (workbook == null) { return rowList; } Sheet sheet = workbook.getSheetAt(0); if (sheet.getPhysicalNumberOfRows() <= 0) { return rowList; } for (Row row : sheet) { int last = Math.min(row.getLastCellNum(), 20); String[] rowContent = new String[last]; for (int i = 0; i < last; i++) { Cell cell = row.getCell(i, Row.RETURN_BLANK_AS_NULL); if (cell != null) { rowContent[i] = getCellValue(cell); } } rowList.add(rowContent); } return rowList; }
From source file:com.amitycoin.enterprisetool.diagramInputServlet.java
@Override @SuppressWarnings({ "null", "ValueOfIncrementOrDecrementUsed", "UnusedAssignment" }) protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String filePath;/*w ww. j a v a 2 s . c o m*/ String docids; String userid; String a[][]; a = new String[200][200]; // database connection settings String dbURL = "jdbc:mysql://localhost:3306/enterprisedb"; String dbUser = "root"; String dbPass = "sandy"; @SuppressWarnings("UnusedAssignment") Connection conn = null; // connection to the database userid = (String) request.getAttribute("uidM"); String fname = (String) request.getAttribute("fnameM"); int docid = (Integer) request.getAttribute("docidM"); docids = "" + docid; String pathToWeb; pathToWeb = getServletContext().getRealPath(File.separator); System.out.println("pathtoweb:\t" + pathToWeb); filePath = pathToWeb + "readFiles\\"; filePath = filePath + docids + userid + fname; //+.xls File myFile = new File(filePath); //boolean newExcel; //boolean oldExcel; String ext = FilenameUtils.getExtension(filePath); System.out.println("Extension: " + ext); FileInputStream fis = new FileInputStream(myFile); Workbook wb = null; if ("xls".equals(ext)) { // Finds the workbook instance for the file wb = new HSSFWorkbook(fis); } else if ("xlsx".equals(ext)) { wb = new XSSFWorkbook(fis); } @SuppressWarnings("null") Sheet mySheet; mySheet = wb.getSheetAt(0); // Get iterator to all the rows in current sheet Iterator<Row> rowIterator = mySheet.iterator(); @SuppressWarnings("UnusedAssignment") int rowct = 0, colct = 0, colit = 0, ci = 0, ri = 0; // Traversing over each row of XLSX file while (rowIterator.hasNext()) { ri++; System.out.println("\nRi:\t" + ri); //Iterate over Rows Row row = rowIterator.next(); if (1 == rowct) { colct = colit; } // For each row, iterate through each columns Iterator<Cell> cellIterator = row.cellIterator(); ci = 0; while (cellIterator.hasNext()) { ci++; System.out.println("\nCi:\t" + ci); //Iterate over Columns Cell cell = cellIterator.next(); switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: System.out.print(cell.getStringCellValue() + "\t"); a[ri][ci] = cell.getStringCellValue(); break; case Cell.CELL_TYPE_NUMERIC: System.out.print(cell.getNumericCellValue() + "\t"); double temp = cell.getNumericCellValue(); String dblValue = "" + temp; a[ri][ci] = dblValue; break; case Cell.CELL_TYPE_BOOLEAN: System.out.print(cell.getBooleanCellValue() + "\t"); String tmp = "" + cell.getBooleanCellValue(); a[ri][ci] = tmp; break; default: } colit++; } //rowit++; rowct++; //increase row count } System.out.println("Row Count:\t" + rowct); System.out.println("Column Count:\t" + colct); for (int i = 1; i <= rowct; i++) { for (int j = 1; j <= colct; j++) { System.out.println("a[" + i + "][" + j + "]=" + a[i][j] + "\n"); } } try { DriverManager.registerDriver(new com.mysql.jdbc.Driver()); conn = DriverManager.getConnection(dbURL, dbUser, dbPass); String append = "?, ?"; String quest = ", ?"; for (int j = 1; j <= colct; j++) { append += quest; } String crsql; String cappend = "`uid`,`doc_id`"; for (int j = 1; j <= colct; j++) { cappend = cappend + ",`" + j + "`"; } crsql = "CREATE TABLE IF NOT EXISTS `data" + userid + docid + "` (\n" + "`row_id` INT(11) NOT NULL AUTO_INCREMENT,\n" + "`uid` VARCHAR(50) NOT NULL,\n" + "`doc_id` INT(11) NOT NULL"; System.out.println(crsql); for (int j = 1; j <= colct; j++) { System.out.println("j:\t" + (j)); crsql = crsql + ",\n`" + (j) + "` VARCHAR(50)"; } crsql += ",\nPRIMARY KEY (`row_id`)\n)"; System.out.println(crsql); PreparedStatement cstmt = conn.prepareStatement(crsql); int c = cstmt.executeUpdate(); String sql = "INSERT INTO data" + userid + docid + "(" + cappend + ")" + " values (" + append + ")"; System.out.println("Append=\t" + append); PreparedStatement statement = conn.prepareStatement(sql); statement.setString(1, userid); statement.setInt(2, docid); for (int i = 1; i <= rowct; i++) { for (int j = 1; j <= (colct); j++) { statement.setString(j + 2, a[i][j]); System.out.println("j=" + (j) + "\ta[" + i + "][" + (j) + "]=" + a[i][j] + "\n"); } System.out.println("\n"); System.out.println("\nstatement:\t" + statement); int res = statement.executeUpdate(); } } catch (SQLException ex) { Logger.getLogger(diagramInputServlet.class.getName()).log(Level.SEVERE, null, ex); } for (int i = 1; i <= rowct; i++) { for (int j = 1; j <= colct; j++) { System.out.println("a[" + i + "][" + j + "]=" + a[i][j] + "\n"); } } System.out.println("Rowct:\t" + rowct + "\nColct:\t" + colct); @SuppressWarnings("UseOfObsoleteCollectionType") Hashtable<String, Object> style = new Hashtable<String, Object>(); style.put(mxConstants.STYLE_FILLCOLOR, mxUtils.getHexColorString(Color.WHITE)); style.put(mxConstants.STYLE_STROKEWIDTH, 1.5); style.put(mxConstants.STYLE_STROKECOLOR, mxUtils.getHexColorString(new Color(0, 0, 170))); style.put(mxConstants.STYLE_SHAPE, mxConstants.SHAPE_ELLIPSE); style.put(mxConstants.STYLE_PERIMETER, mxConstants.PERIMETER_ELLIPSE); graph = new mxGraph(); mxStylesheet stylesheet = graph.getStylesheet(); stylesheet.putCellStyle("process", createProcessStyle()); stylesheet.putCellStyle("object", createObjectStyle()); stylesheet.putCellStyle("state", createStateStyle()); stylesheet.putCellStyle("agent", createAgentLinkStyle()); fr = new JFrame("Enterprise Architecture Diagram"); fr.setSize(2000, 2000); graph.setMinimumGraphSize(new mxRectangle(0, 0, 1000, 1500)); graph.setMaximumGraphBounds(new mxRectangle(0, 0, 2000, 2000)); graph.setMinimumGraphSize(new mxRectangle(0, 0, 1000, 1000)); double rech1 = 200; double rech2 = 200; double rech3 = 170; double rech3e = 180; double rech4 = 120; Object defaultParent = graph.getDefaultParent(); graph.setConstrainChildren(true); graph.setExtendParents(true); graph.setExtendParentsOnAdd(true); graph.setDefaultOverlap(0); graph.setCellsMovable(true); // Moving cells in the graph. Note that an edge is also a cell. graph.setCellsEditable(true); graph.setCellsResizable(true); // Inhibit cell re-sizing. graph.getModel().beginUpdate(); Object[] obj = new Object[100]; int k = 1; for (int i = 2; i <= rowct; i++) { for (int j = 1; j <= 2; j++) { obj[k] = a[i][j]; k++; } } //print debug info for (int l = 1; l <= (rowct * 2) - 2; l++) { System.out.println("obj[" + l + "]:\t" + obj[l]); } List<Object> list = new ArrayList<Object>(); for (Object val : obj) { if (!list.contains(val)) { list.add(val); } } list.remove(null); list.toArray(new Object[0]); System.out.println("list:" + list); Object[] array = new Object[list.size()]; list.toArray(array); // fill the array System.out.println("Array:\t" + Arrays.toString(array)); Object[] gArray = new Object[array.length]; String[] sArray = new String[array.length]; for (int i = 0; i < array.length; i++) { sArray[i] = array[i].toString(); if (sArray[i].contains("Database") || sArray[i].contains("Server") || sArray[i].contains("DATABASE") || sArray[i].contains("SERVER") || sArray[i].contains("DB")) { System.out.println("Object type"); gArray[i] = graph.insertVertex(defaultParent, null, sArray[i], rech1, rech2, rech3, rech4, "object"); } else { System.out.println("Process type"); gArray[i] = graph.insertVertex(defaultParent, null, sArray[i], rech1, rech2, rech3e, rech4, "process"); } rech1 += 100; rech2 += 100; } for (int i = 2; i <= rowct; i++) { if (a[i][3].equals("Two Way") || a[i][3].equals("TWO WAY") || a[i][3].equals("TwoWay") || a[i][3].equals("TWOWAY") || a[i][3].equals("2 Way") || a[i][3].equals("Two way")) { System.out.println("Double Edges"); int l1 = 0, l2 = 0; for (int l = 1; l < gArray.length; l++) { System.out.println("gArray.toString=\t" + sArray[l]); System.out.println("gArray.length=\t" + sArray.length); if (sArray[l].equals(a[i][1])) { l1 = l; System.out.println("l2:\t" + l1); } if (sArray[l].equals(a[i][2])) { l2 = l; System.out.println("l2:\t" + l2); } } graph.insertEdge(defaultParent, null, a[i][4], gArray[l1], gArray[l2], "agent"); graph.insertEdge(defaultParent, null, a[i][4], gArray[l2], gArray[l1], "agent"); } else { System.out.println("Single Edges"); int l1 = 0, l2 = 0; for (int l = 1; l < gArray.length; l++) { System.out.println("gArray.toString=\t" + sArray[l]); System.out.println("gArray.length=\t" + sArray.length); if (sArray[l].equals(a[i][1])) { l1 = l; System.out.println("l2:\t" + l2); } if (sArray[l].equals(a[i][2])) { l2 = l; System.out.println("l2:\t" + l2); } } graph.insertEdge(defaultParent, null, a[i][4], gArray[l1], gArray[l2], "agent"); } } graph.setEnabled(true); graph.setAutoSizeCells(true); graph.getModel().endUpdate(); graphComponent = new mxGraphComponent(graph); mxFastOrganicLayout layout = new mxFastOrganicLayout(graph); // define layout //set all properties layout.setMinDistanceLimit(1); //layout.setInitialTemp(5); //layout.setInitialTemp(10); //layout.setForceConstant(10); //layout.setDisableEdgeStyle(true); //layout graph //layout.execute(graph.getDefaultParent()); // layout using morphing String fileWPath; graph.getModel().beginUpdate(); try { layout.execute(graph.getDefaultParent()); } finally { mxMorphing morph = new mxMorphing(graphComponent, 20, 1.2, 20); morph.addListener(mxEvent.DONE, new mxIEventListener() { @Override public void invoke(Object arg0, mxEventObject arg1) { graph.getModel().endUpdate(); // fitViewport(); } }); BufferedImage image; image = mxCellRenderer.createBufferedImage(graph, null, 2, Color.WHITE, true, null); Document d = mxCellRenderer.createVmlDocument(graph, null, 1, Color.WHITE, null); pathToWeb = getServletContext().getRealPath(File.separator); System.out.println("pathtoweb:\t" + pathToWeb); fileWPath = pathToWeb + "genImg\\" + userid + docid + ".png"; System.out.println("filewpath:\t" + fileWPath); //System.out.println(pathToWeb + userid + docid + ".svg"); ImageIO.write(image, "PNG", new File(fileWPath)); XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream( new FileOutputStream(new File(pathToWeb + "genXML\\" + userid + docid + ".xml")))); encoder.writeObject(graph); encoder.close(); morph.startAnimation(); } graphComponent.setConnectable(false); fr.getRootPane().setBorder(BorderFactory.createMatteBorder(4, 4, 4, 4, Color.WHITE)); // Inhibit edge creation in the graph. fr.getContentPane().add(graphComponent); //fr.setVisible(true); request.setAttribute("docidM", docid); request.setAttribute("useridM", userid); request.setAttribute("colCountM", colct); request.setAttribute("rowCountM", rowct); request.setAttribute("fileLinkM", fileWPath); request.setAttribute("pathToWebM", pathToWeb); System.out.println("Iteration Complete"); getServletContext().getRequestDispatcher("/success.jsp").forward(request, response); }
From source file:com.antonov.elparser.impl.domain.ExcelWorker.java
public String getUniversity() throws Exception { String result = null;//from w w w . j a va2 s . co m try (FileInputStream is = new FileInputStream(filePath)) { Workbook wb = WorkbookFactory.create(is); Sheet sheet = wb.getSheetAt(0); Row row = sheet.getRow(ROW_UNIVERSITY); Cell cell = row.getCell(COLUMN_UNIVERSITY); result = cell.getStringCellValue().split("-")[1].trim(); } catch (Throwable ex) { String message = " ?? ? "; logger.error(message, ex); throw new Exception(message, ex); } return result; }
From source file:com.antonov.elparser.impl.domain.ExcelWorker.java
public List<User> getUsers() throws Exception { List<User> result = new ArrayList<>(); try (FileInputStream is = new FileInputStream(filePath)) { Workbook wb = WorkbookFactory.create(is); Sheet sheet = wb.getSheetAt(0); int amountRows = sheet.getPhysicalNumberOfRows(); for (int i = HEADER_HEIGHT; i < amountRows; i++) { User user = new User(); Row row = sheet.getRow(i);// w w w.jav a 2 s . co m Cell cell = row.getCell(COLUMN_FIO); String fio = cell.getStringCellValue().trim(); if (fio != null && !fio.isEmpty()) { user.setFIO(fio); user.setRow(i); result.add(user); } } } catch (Throwable ex) { String message = " ?? "; logger.error(message, ex); throw new Exception(message, ex); } return result; }
From source file:com.antonov.elparser.impl.domain.ExcelWorker.java
public void write(List<User> listUser) throws Exception { try (FileInputStream is = new FileInputStream(filePath)) { Workbook wb = WorkbookFactory.create(is); Sheet sheet = wb.getSheetAt(0); for (User user : listUser) { int row = user.getRow(); UserInfo info = user.getInfo(); if (info != null) { Long amountLetters = info.getAMOUNT_LETTERS(); Long hirsh = info.getHIRSH(); Double impactPublish = info.getIMPACT_PUBLISH(); if (amountLetters != null) { sheet.getRow(row).getCell(COLUMN_AMOUNT_LETTERS).setCellValue(amountLetters); } else { sheet.getRow(row).getCell(COLUMN_AMOUNT_LETTERS) .setCellValue(DEFAULT_VALUE_FOR_NULL_INFO_PARAMETERS); }// w w w. ja v a 2 s.c om if (hirsh != null) { sheet.getRow(row).getCell(COLUMN_HIRSH).setCellValue(hirsh); } else { sheet.getRow(row).getCell(COLUMN_HIRSH) .setCellValue(DEFAULT_VALUE_FOR_NULL_INFO_PARAMETERS); } if (impactPublish != null) { sheet.getRow(row).getCell(COLUMN_IMPACT_PUBLISH).setCellValue(impactPublish); } else { sheet.getRow(row).getCell(COLUMN_IMPACT_PUBLISH) .setCellValue(DEFAULT_VALUE_FOR_NULL_INFO_PARAMETERS); } } else { sheet.getRow(row).getCell(COLUMN_AMOUNT_LETTERS) .setCellValue(DEFAULT_VALUE_FOR_NULL_INFO_PARAMETERS); sheet.getRow(row).getCell(COLUMN_HIRSH).setCellValue(DEFAULT_VALUE_FOR_NULL_INFO_PARAMETERS); sheet.getRow(row).getCell(COLUMN_IMPACT_PUBLISH) .setCellValue(DEFAULT_VALUE_FOR_NULL_INFO_PARAMETERS); } } try (FileOutputStream os = new FileOutputStream(filePath)) { wb.write(os); } } catch (Throwable ex) { String message = " ? "; logger.error(message, ex); throw new Exception(message, ex); } }
From source file:com.arg.arsoft.siantluis.web.controllers.ClaimController.java
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST) @Transactional/* ww w . j av a 2 s. c om*/ public @ResponseBody String upload(MultipartFile file) throws Exception { if (file != null) { System.out.println(file.getOriginalFilename()); Workbook workbook = new XSSFWorkbook(file.getInputStream()); Sheet sheet = workbook.getSheetAt(0); for (int index = 1; index < sheet.getPhysicalNumberOfRows(); index++) { Row row = sheet.getRow(index); String code = row.getCell(0).getStringCellValue(); ClaimUpload entity = cuRepository.findByCode(code); if (entity == null) { entity = new ClaimUpload(); entity.setId(0); entity.setCode(code); } System.out.print(entity.getId()); entity.setDesc(row.getCell(1).getStringCellValue()); entity.setClaimDate(row.getCell(2).getStringCellValue()); entity.setClaimTime(row.getCell(3).getStringCellValue()); entity.setClaimLocation(row.getCell(4).getStringCellValue()); entity.setClaimReason(row.getCell(5).getStringCellValue()); cuRepository.save(entity); } } return "Success"; }
From source file:com.asakusafw.testdata.generator.excel.MainTest.java
License:Apache License
/** * simple.// w w w .j av a 2 s .c o m * @throws Exception if occur */ @Test public void simple() throws Exception { File output = folder.newFolder("output"); File source = folder.newFolder("source"); deploy("simple.dmdl", source); List<String> args = new ArrayList<>(); Collections.addAll(args, "-output", output.getAbsolutePath()); Collections.addAll(args, "-source", source.getAbsolutePath()); Collections.addAll(args, "-format", WorkbookFormat.DATA.name()); int exit = Main.start(args.toArray(new String[args.size()])); assertThat(exit, is(0)); Workbook book = open(output, "simple"); assertThat(cell(book.getSheetAt(0), 0, 0), is("value")); }
From source file:com.asakusafw.testdata.generator.excel.MainTest.java
License:Apache License
/** * using xlsx./*from w w w . j a v a 2s . c om*/ * @throws Exception if occur */ @Test public void xssf() throws Exception { File output = folder.newFolder("output"); File source = folder.newFolder("source"); deploy("simple.dmdl", source); List<String> args = new ArrayList<>(); Collections.addAll(args, "-output", output.getAbsolutePath()); Collections.addAll(args, "-source", source.getAbsolutePath()); Collections.addAll(args, "-format", WorkbookFormat.DATAX.name()); int exit = Main.start(args.toArray(new String[args.size()])); assertThat(exit, is(0)); Workbook book = open(output, "simple"); assertThat(cell(book.getSheetAt(0), 0, 0), is("value")); }