List of usage examples for org.apache.poi.ss.usermodel Sheet getPhysicalNumberOfRows
int getPhysicalNumberOfRows();
From source file:cn.lhfei.fu.service.impl.ThesisDataBuildFactory.java
License:Apache License
@Override public boolean importDataByExcel(String filePath, Map<String, Object> params) throws Exception { Date currentDate = new Date(); List<ThesisBase> thesisList = new ArrayList<ThesisBase>(); InputStream inp = new FileInputStream(filePath); Workbook wb = WorkbookFactory.create(inp); Sheet sheet = wb.getSheetAt(0); int totalRows = sheet.getPhysicalNumberOfRows(); Cell classCell = null;//from w w w . j a v a2 s .c o m Cell studentNameCell = null; Cell studentIdCell = null; String className = ""; String studentId = ""; String studentName = ""; String desc = "?"; Integer degree = (Integer) params.get("degree"); for (int i = 1; i < totalRows; i++) { Row row = sheet.getRow(i); classCell = row.getCell(0); studentNameCell = row.getCell(1); studentIdCell = row.getCell(2); className = classCell.getStringCellValue(); studentName = studentNameCell.getStringCellValue(); studentId = studentIdCell.getStringCellValue(); ThesisBase model = new ThesisBase(); model.setClassName(className); model.setStudentName(studentName); model.setStudentId(studentId); model.setDegree(degree); model.setDesc(desc); model.setActionType("" + OperationTypeEnum.PLSC.getCode()); model.setOperationTime(currentDate); model.setCreateTime(currentDate); model.setModifyTime(currentDate); thesisList.add(model); } log.info("Batch size: ", thesisList.size()); for (ThesisBase thesis : thesisList) { thesisBaseService.save(thesis); } return false; }
From source file:com.abixen.platform.service.businessintelligence.multivisualisation.service.impl.parser.ExcelParserServiceImpl.java
License:Open Source License
private List<DataValue> getValues(Sheet sheet, int i, DataValueType columnType, int firstDataRow) { List<DataValue> values = new ArrayList<>(); for (int j = firstDataRow; j < sheet.getPhysicalNumberOfRows(); j++) { Cell cell = sheet.getRow(j).getCell(i); values.add(getValueAsDataValue(cell, columnType)); }/*from w ww. j a v a 2s. com*/ return values; }
From source file:com.abixen.platform.service.businessintelligence.multivisualisation.service.impl.parser.ExcelParserServiceImpl.java
License:Open Source License
private boolean validate(FileParserMessage<DataFileColumn> msg, Row headerRow, Sheet sheet, Boolean readFirstColumnAsColumnName) { for (int i = 0; i < headerRow.getPhysicalNumberOfCells(); i++) { int firstDataRow = readFirstColumnAsColumnName ? headerRowIndex + 1 : headerRowIndex; Cell columnCell = sheet.getRow(firstDataRow).getCell(i); if (columnCell == null) { msg.addFileParseError(new FileParseError(1, String.format( "[Line %d, column %d] Cell is empty. Column can't be validated", headerRowIndex + 1, i))); } else {/*from w w w .ja v a 2 s .c o m*/ DataValueType columnType = getColumnTypeAsDataValueType(columnCell, i); for (int j = firstDataRow; j < sheet.getPhysicalNumberOfRows(); j++) { Cell cell = sheet.getRow(j).getCell(i); if (cell == null) { msg.addFileParseError( new FileParseError(1, String.format("[Line %d, column %d] Cell is empty", j, i))); } else { if (!columnType.equals(getColumnTypeAsDataValueType(cell, i))) { msg.addFileParseError(new FileParseError(1, String.format( "[Line %d, column %d] Cell type is diffrent that first cell in this column", j, i))); } } } } } return msg.getFileParseErrors().isEmpty(); }
From source file:com.adobe.acs.commons.mcp.impl.ProcessErrorReportExcelServlet.java
License:Apache License
@SuppressWarnings("squid:S3776") protected Workbook createSpreadsheet(ManagedProcess report) { Workbook wb = new XSSFWorkbook(); String name = report.getName(); for (char ch : new char[] { '\\', '/', '*', '[', ']', ':', '?' }) { name = StringUtils.remove(name, ch); }//from ww w .jav a 2s. co m Sheet sheet = wb.createSheet(name); sheet.createFreezePane(0, 1, 0, 1); Row headerRow = sheet.createRow(0); CellStyle headerStyle = createHeaderStyle(wb); CellStyle dateStyle = wb.createCellStyle(); CreationHelper createHelper = wb.getCreationHelper(); dateStyle.setDataFormat(createHelper.createDataFormat().getFormat("yyy/mm/dd h:mm:ss")); for (String columnName : Arrays.asList("Time", "Path", "Error", "Stack trace")) { Cell headerCell = headerRow.createCell(headerRow.getPhysicalNumberOfCells()); headerCell.setCellValue(columnName); headerCell.setCellStyle(headerStyle); } Collection<ArchivedProcessFailure> rows = report.getReportedErrorsList(); //make rows, don't forget the header row for (ArchivedProcessFailure error : rows) { Row row = sheet.createRow(sheet.getPhysicalNumberOfRows()); Cell c; c = row.createCell(0); c.setCellValue(error.time); c.setCellStyle(dateStyle); c = row.createCell(1); c.setCellValue(error.nodePath); c = row.createCell(2); c.setCellValue(error.error); c = row.createCell(3); c.setCellValue(error.stackTrace); } autosize(sheet, 4); sheet.setAutoFilter(new CellRangeAddress(0, 1 + rows.size(), 0, 3)); return wb; }
From source file:com.alibaba.ims.platform.util.ExcelUtil.java
License:Open Source License
/** * ?//from w w w . j av a 2s . c om * * @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.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 .java2 s.c om 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.arg.arsoft.siantluis.web.controllers.ClaimController.java
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST) @Transactional// w w w .j a va2s .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.blackducksoftware.tools.commonframework.standard.protex.report.template.TemplateWriterTest.java
License:Apache License
/** * Handle the POI case where multiple sheets are being written to the same * workbook.//w w w.j av a 2 s . c o m * * Supressing warning of rawtypes/unchecked on this test due to changing * java types mid-way * * @throws Exception * the exception */ @Test @SuppressWarnings({ "rawtypes", "unchecked" }) public void testWriteOutForMultipleSheets() throws Exception { TemplateReader templateReader = new TemplateReader(protexCM); workingFile = junitWorkingFolder.newFile("write_out_multiple.xlsx"); templateReader.copyTemplateIntoFile(TEMPLATE_NAME, workingFile); TemplateWriter tw = new TemplateWriter(templateReader); TemplateSheet tsOne = templateReader.getSheetMap().get(TEST_SHEET_NAME); TemplateSheet tsTwo = templateReader.getSheetMap().get(TEST_SHEET_NAME_2); TestPojoPageTwo pojo = new TestPojoPageTwo(); pojo.setValue1page2(POJO_TV_1); pojo.setValue2page2(POJO_TV_2); try { tw.writeOutPojo(pojoList, tsOne, TestPojo.class, TemplateWriter.EXIT_ON_MAPPING_ERRORS); // When writing the second sheet, make sure only the new POJOs are there // Instead of clearing the list, create a new one to match the java type pojoList.clear(); pojoList.add(pojo); tw.writeOutPojo(pojoList, tsTwo, TestPojoPageTwo.class, TemplateWriter.EXIT_ON_MAPPING_ERRORS); } catch (Exception e) { Assert.fail(e.getMessage()); } Sheet sheet = outputBook.getSheet(TEST_SHEET_NAME_2); int count = sheet.getPhysicalNumberOfRows(); Assert.assertEquals(2, count); }
From source file:com.blackducksoftware.tools.commonframework.standard.protex.report.template.TemplateWriterTest.java
License:Apache License
/** * Test row count.//from w ww . j a v a 2 s. co m */ @Test public void testRowCount() { Sheet sheet = outputBook.getSheet(TEST_SHEET_NAME); int rowCount = sheet.getPhysicalNumberOfRows(); Assert.assertEquals(3, rowCount); }
From source file:com.bright.json.PGS.java
License:Open Source License
public static void main(String[] args) throws FileNotFoundException { String fileBasename = null;// w w w . j av a 2 s . co m JFileChooser chooser = new JFileChooser(); try { FileNameExtensionFilter filter = new FileNameExtensionFilter("Excel Spreadsheets", "xls", "xlsx"); chooser.setFileFilter(filter); chooser.setCurrentDirectory(new java.io.File(System.getProperty("user.home"))); chooser.setDialogTitle("Select the Excel file"); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); chooser.setAcceptAllFileFilterUsed(false); if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory()); System.out.println("getSelectedFile() : " + chooser.getSelectedFile()); // String fileBasename = // chooser.getSelectedFile().toString().substring(chooser.getSelectedFile().toString().lastIndexOf(File.separator)+1,chooser.getSelectedFile().toString().lastIndexOf(".")); fileBasename = chooser.getSelectedFile().toString() .substring(chooser.getSelectedFile().toString().lastIndexOf(File.separator) + 1); System.out.println("Base name: " + fileBasename); } else { System.out.println("No Selection "); } } catch (Exception e) { System.out.println(e.toString()); } String fileName = chooser.getSelectedFile().toString(); InputStream inp = new FileInputStream(fileName); Workbook workbook = null; if (fileName.toLowerCase().endsWith("xlsx")) { try { workbook = new XSSFWorkbook(inp); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (fileName.toLowerCase().endsWith("xls")) { try { workbook = new HSSFWorkbook(inp); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Sheet nodeSheet = workbook.getSheet("Devices"); Sheet interfaceSheet = workbook.getSheet("Interfaces"); System.out.println("Read nodes sheet."); // Row nodeRow = nodeSheet.getRow(1); // System.out.println(row.getCell(0).toString()); // System.exit(0); JTextField uiHost = new JTextField("demo.brightcomputing.com"); // TextPrompt puiHost = new // TextPrompt("demo.brightcomputing.com",uiHost); JTextField uiUser = new JTextField("root"); // TextPrompt puiUser = new TextPrompt("root", uiUser); JTextField uiPass = new JPasswordField(""); // TextPrompt puiPass = new TextPrompt("x5deix5dei", uiPass); JPanel myPanel = new JPanel(new GridLayout(5, 1)); myPanel.add(new JLabel("Bright HeadNode hostname:")); myPanel.add(uiHost); // myPanel.add(Box.createHorizontalStrut(1)); // a spacer myPanel.add(new JLabel("Username:")); myPanel.add(uiUser); myPanel.add(new JLabel("Password:")); myPanel.add(uiPass); int result = JOptionPane.showConfirmDialog(null, myPanel, "Please fill in all the fields.", JOptionPane.OK_CANCEL_OPTION); if (result == JOptionPane.OK_OPTION) { System.out.println("Input received."); } String rhost = uiHost.getText(); String ruser = uiUser.getText(); String rpass = uiPass.getText(); String cmURL = "https://" + rhost + ":8081/json"; List<Cookie> cookies = doLogin(ruser, rpass, cmURL); chkVersion(cmURL, cookies); Map<String, Long> categories = UniqueKeyMap(cmURL, "cmdevice", "getCategories", cookies); Map<String, Long> networks = UniqueKeyMap(cmURL, "cmnet", "getNetworks", cookies); Map<String, Long> partitions = UniqueKeyMap(cmURL, "cmpart", "getPartitions", cookies); Map<String, Long> racks = UniqueKeyMap(cmURL, "cmpart", "getRacks", cookies); Map<String, Long> switches = UniqueKeyMap(cmURL, "cmdevice", "getEthernetSwitches", cookies); // System.out.println(switches.get("switch01")); // System.out.println("Size of the map: "+ switches.size()); // System.exit(0); cmDevice newnode = new cmDevice(); cmDevice.deviceObject devObj = new cmDevice.deviceObject(); cmDevice.switchObject switchObj = new cmDevice.switchObject(); // cmDevice.netObject netObj = new cmDevice.netObject(); List<String> emptyslist = new ArrayList<String>(); // Row nodeRow = nodeSheet.getRow(1); // Row ifRow = interfaceSheet.getRow(1); // System.out.println(nodeRow.getCell(0).toString()); // nodeRow.getCell(3).getStringCellValue() Map<String, ArrayList<cmDevice.netObject>> ifmap = new HashMap<String, ArrayList<cmDevice.netObject>>(); // Map<String,netObject> helperMap = new HashMap<String,netObject>(); // Iterator<Row> rows = interfaceSheet.rowIterator (); // while (rows. < interfaceSheet.getPhysicalNumberOfRows()) { // List<netObject> netList = new ArrayList<netObject>(); for (int i = 0; i < interfaceSheet.getPhysicalNumberOfRows(); i++) { Row ifRow = interfaceSheet.getRow(i); if (ifRow.getRowNum() == 0) { continue; // just skip the rows if row number is 0 } System.out.println("Row nr: " + ifRow.getRowNum()); cmDevice.netObject netObj = new cmDevice.netObject(); ArrayList<cmDevice.netObject> helperList = new ArrayList<cmDevice.netObject>(); netObj.setBaseType("NetworkInterface"); netObj.setCardType(ifRow.getCell(3).getStringCellValue()); netObj.setChildType(ifRow.getCell(4).getStringCellValue()); netObj.setDhcp((ifRow.getCell(5).getNumericCellValue() > 0.1) ? true : false); netObj.setIp(ifRow.getCell(7).getStringCellValue()); // netObj.setMac(ifRow.getCell(0).toString()); //netObj.setModified(true); netObj.setName(ifRow.getCell(1).getStringCellValue()); netObj.setNetwork(networks.get(ifRow.getCell(6).getStringCellValue())); //netObj.setOldLocalUniqueKey(0L); netObj.setRevision(""); netObj.setSpeed(ifRow.getCell(8, Row.CREATE_NULL_AS_BLANK).getStringCellValue()); netObj.setStartIf("ALWAYS"); netObj.setToBeRemoved(false); netObj.setUniqueKey((long) ifRow.getCell(2).getNumericCellValue()); //netObj.setAdditionalHostnames(new ArrayList<String>(Arrays.asList(ifRow.getCell(9, Row.CREATE_NULL_AS_BLANK).getStringCellValue().split("\\s*,\\s*")))); //netObj.setMac(ifRow.getCell(10, Row.CREATE_NULL_AS_BLANK).getStringCellValue()); netObj.setMode((int) ifRow.getCell(11, Row.CREATE_NULL_AS_BLANK).getNumericCellValue()); netObj.setOptions(ifRow.getCell(12, Row.CREATE_NULL_AS_BLANK).getStringCellValue()); netObj.setMembers(new ArrayList<String>(Arrays .asList(ifRow.getCell(13, Row.CREATE_NULL_AS_BLANK).getStringCellValue().split("\\s*,\\s*")))); // ifmap.put(ifRow.getCell(0).getStringCellValue(), new // HashMap<String, cmDevice.netObject>()); // helperMap.put(ifRow.getCell(1).getStringCellValue(), netObj) ; // ifmap.get(ifRow.getCell(0).getStringCellValue()).putIfAbsent(ifRow.getCell(1).getStringCellValue(), // netObj); // ifmap.put(ifRow.getCell(0).getStringCellValue(), helperMap); if (!ifmap.containsKey(ifRow.getCell(0).getStringCellValue())) { ifmap.put(ifRow.getCell(0).getStringCellValue(), new ArrayList<cmDevice.netObject>()); } helperList = ifmap.get(ifRow.getCell(0).getStringCellValue()); helperList.add(netObj); ifmap.put(ifRow.getCell(0).getStringCellValue(), helperList); continue; } for (int i = 0; i < nodeSheet.getPhysicalNumberOfRows(); i++) { Row nodeRow = nodeSheet.getRow(i); if (nodeRow.getRowNum() == 0) { continue; // just skip the rows if row number is 0 } newnode.setService("cmdevice"); newnode.setCall("addDevice"); Map<String, Long> ifmap2 = new HashMap<String, Long>(); for (cmDevice.netObject j : ifmap.get(nodeRow.getCell(0).getStringCellValue())) ifmap2.put(j.getName(), j.getUniqueKey()); switchObj.setEthernetSwitch(switches.get(nodeRow.getCell(8).getStringCellValue())); System.out.println(nodeRow.getCell(8).getStringCellValue()); System.out.println(switches.get(nodeRow.getCell(8).getStringCellValue())); switchObj.setPrt((int) nodeRow.getCell(9).getNumericCellValue()); switchObj.setBaseType("SwitchPort"); devObj.setBaseType("Device"); // devObj.setCreationTime(0L); devObj.setCustomPingScript(""); devObj.setCustomPingScriptArgument(""); devObj.setCustomPowerScript(""); devObj.setCustomPowerScriptArgument(""); devObj.setCustomRemoteConsoleScript(""); devObj.setCustomRemoteConsoleScriptArgument(""); devObj.setDisksetup(""); devObj.setBmcPowerResetDelay(0L); devObj.setBurning(false); devObj.setEthernetSwitch(switchObj); devObj.setExcludeListFull(""); devObj.setExcludeListGrab(""); devObj.setExcludeListGrabnew(""); devObj.setExcludeListManipulateScript(""); devObj.setExcludeListSync(""); devObj.setExcludeListUpdate(""); devObj.setFinalize(""); devObj.setRack(racks.get(nodeRow.getCell(10).getStringCellValue())); devObj.setRackHeight((long) nodeRow.getCell(11).getNumericCellValue()); devObj.setRackPosition((long) nodeRow.getCell(12).getNumericCellValue()); devObj.setIndexInsideContainer(0L); devObj.setInitialize(""); devObj.setInstallBootRecord(false); devObj.setInstallMode(""); devObj.setIoScheduler(""); devObj.setLastProvisioningNode(0L); devObj.setMac(nodeRow.getCell(6).getStringCellValue()); devObj.setModified(true); devObj.setCategory(categories.get(nodeRow.getCell(1).getStringCellValue())); devObj.setChildType("PhysicalNode"); //devObj.setDatanode((nodeRow.getCell(5).getNumericCellValue() > 0.1) ? true // : false); devObj.setHostname(nodeRow.getCell(0).getStringCellValue()); devObj.setModified(true); devObj.setPartition(partitions.get(nodeRow.getCell(2).getStringCellValue())); devObj.setUseExclusivelyFor("Category"); devObj.setNextBootInstallMode(""); devObj.setNotes(""); devObj.setOldLocalUniqueKey(0L); devObj.setPowerControl(nodeRow.getCell(7).getStringCellValue()); // System.out.println(ifmap.get("excelnode001").size()); // System.out.println(ifmap.get(nodeRow.getCell(0).getStringCellValue()).get(nodeRow.getCell(3).getStringCellValue()).getUniqueKey()); devObj.setManagementNetwork(networks.get(nodeRow.getCell(3).getStringCellValue())); devObj.setProvisioningNetwork(ifmap2.get(nodeRow.getCell(4).getStringCellValue())); devObj.setProvisioningTransport("RSYNCDAEMON"); devObj.setPxelabel(""); // "rack": 90194313218, // "rackHeight": 1, // "rackPosition": 4, devObj.setRaidconf(""); devObj.setRevision(""); devObj.setSoftwareImageProxy(null); devObj.setStartNewBurn(false); devObj.setTag("00000000a000"); devObj.setToBeRemoved(false); // devObj.setUcsInfoConfigured(null); // devObj.setUniqueKey(12345L); devObj.setUserdefined1(""); devObj.setUserdefined2(""); ArrayList<Object> mylist = new ArrayList<Object>(); ArrayList<cmDevice.netObject> mylist2 = new ArrayList<cmDevice.netObject>(); ArrayList<Object> emptylist = new ArrayList<Object>(); devObj.setFsexports(emptylist); devObj.setFsmounts(emptylist); devObj.setGpuSettings(emptylist); devObj.setFspartAssociations(emptylist); devObj.setPowerDistributionUnits(emptyslist); devObj.setRoles(emptylist); devObj.setServices(emptylist); devObj.setStaticRoutes(emptylist); mylist2 = ifmap.get(nodeRow.getCell(0).getStringCellValue()); devObj.setNetworks(mylist2); mylist.add(devObj); mylist.add(1); newnode.setArgs(mylist); GsonBuilder builder = new GsonBuilder(); builder.enableComplexMapKeySerialization(); // Gson g = new Gson(); Gson g = builder.create(); String json2 = g.toJson(newnode); // To be used from a real console and not Eclipse String message = JSonRequestor.doRequest(json2, cmURL, cookies); continue; } JOptionPane optionPaneF = new JOptionPane("The nodes have been added!"); JDialog myDialogF = optionPaneF.createDialog(null, "Complete: "); myDialogF.setModal(false); myDialogF.setVisible(true); doLogout(cmURL, cookies); // System.exit(0); }