/** * Get the Sheet object at the given index. * * @param index of the sheet number (0-based physical and logical) * @return Sheet at the provided index */ @Override public SXSSFSheet getSheetAt(int index) { return getSXSSFSheet(_wb.getSheetAt(index)); }
/** * get sheet object of embedded excel file * * @return excel sheet object * @since POI 4.0.0 */ private XSSFSheet getSheet() { XSSFSheet sheet = null; try { sheet = getWorkbook().getSheetAt(0); } catch (InvalidFormatException ife) { } catch (IOException ioe) { } return sheet; }
protected XSSFSheet readSheet(int index, String name) { XSSFSheet sheet = workbook.getSheetAt(index); if (!sheet.getSheetName().equals(name)) { throw new IllegalArgumentException("The sheet (" + sheet.getSheetName() + ") at index (" + index + ") is expected to have another name (" + name + ")"); } return sheet; }
@Override public EvaluationSheet getSheet(int sheetIndex) { // Performance optimization: build sheet cache the first time this is called // to avoid re-creating the XSSFEvaluationSheet each time a new cell is evaluated // EvaluationWorkbooks make not guarantee to synchronize changes made to // the underlying workbook after the EvaluationWorkbook is created. if (_sheetCache == null) { final int numberOfSheets = _uBook.getNumberOfSheets(); _sheetCache = new XSSFEvaluationSheet[numberOfSheets]; for (int i=0; i < numberOfSheets; i++) { _sheetCache[i] = new XSSFEvaluationSheet(_uBook.getSheetAt(i)); } } if (sheetIndex < 0 || sheetIndex >= _sheetCache.length) { // do this to reuse the out-of-bounds logic and message from XSSFWorkbook _uBook.getSheetAt(sheetIndex); } return _sheetCache[sheetIndex]; }
XSSFSheet sheet = getSheetAt(index); removeRelation(sheet); sheets.remove(index);
/** * @return the list of Single Xml Cells that provide a map rule to this mapping. */ public List<XSSFSingleXmlCell> getRelatedSingleXMLCell() { List<XSSFSingleXmlCell> relatedSimpleXmlCells = new ArrayList<>(); int sheetNumber = mapInfo.getWorkbook().getNumberOfSheets(); for (int i = 0; i < sheetNumber; i++) { XSSFSheet sheet = mapInfo.getWorkbook().getSheetAt(i); for (POIXMLDocumentPart p : sheet.getRelations()) { if (p instanceof SingleXmlCells) { SingleXmlCells singleXMLCells = (SingleXmlCells) p; for (XSSFSingleXmlCell cell : singleXMLCells.getAllSimpleXmlCell()) { if (cell.getMapId() == ctMap.getID()) { relatedSimpleXmlCells.add(cell); } } } } } return relatedSimpleXmlCells; }
/** * 获取XLSX工作簿指定sheet中图片列表 * * @param workbook 工作簿{@link Workbook} * @param sheetIndex sheet的索引 * @return 图片映射,键格式:行_列,值:{@link PictureData} */ private static Map<String, PictureData> getPicMapXlsx(XSSFWorkbook workbook, int sheetIndex) { final Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>(); final XSSFSheet sheet = workbook.getSheetAt(sheetIndex); XSSFDrawing drawing; for (POIXMLDocumentPart dr : sheet.getRelations()) { if (dr instanceof XSSFDrawing) { drawing = (XSSFDrawing) dr; final List<XSSFShape> shapes = drawing.getShapes(); XSSFPicture pic; CTMarker ctMarker; for (XSSFShape shape : shapes) { pic = (XSSFPicture) shape; ctMarker = pic.getPreferredSize().getFrom(); sheetIndexPicMap.put(StrUtil.format("{}_{}", ctMarker.getRow(), ctMarker.getCol()), pic.getPictureData()); } } } return sheetIndexPicMap; } // -------------------------------------------------------------------------------------------------------------- Private method end
/** * 获取XLSX工作簿指定sheet中图片列表 * * @param workbook 工作簿{@link Workbook} * @param sheetIndex sheet的索引 * @return 图片映射,键格式:行_列,值:{@link PictureData} */ private static Map<String, PictureData> getPicMapXlsx(XSSFWorkbook workbook, int sheetIndex) { final Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>(); final XSSFSheet sheet = workbook.getSheetAt(sheetIndex); XSSFDrawing drawing; for (POIXMLDocumentPart dr : sheet.getRelations()) { if (dr instanceof XSSFDrawing) { drawing = (XSSFDrawing) dr; final List<XSSFShape> shapes = drawing.getShapes(); XSSFPicture pic; CTMarker ctMarker; for (XSSFShape shape : shapes) { pic = (XSSFPicture) shape; ctMarker = pic.getPreferredSize().getFrom(); sheetIndexPicMap.put(StrUtil.format("{}_{}", ctMarker.getRow(), ctMarker.getCol()), pic.getPictureData()); } } } return sheetIndexPicMap; } // -------------------------------------------------------------------------------------------------------------- Private method end
/** * Removes sheet at the given index * * @param index of the sheet to remove (0-based) */ @Override public void removeSheetAt(int index) { // Get the sheet to be removed XSSFSheet xSheet = _wb.getSheetAt(index); SXSSFSheet sxSheet = getSXSSFSheet(xSheet); // De-register it _wb.removeSheetAt(index); deregisterSheetMapping(xSheet); // Clean up temporary resources try { sxSheet.dispose(); } catch (IOException e) { logger.log(POILogger.WARN, e); } }
List<POIXMLDocumentPart> rels = _wb.getSheetAt(sheetIndex).getRelations(); for (POIXMLDocumentPart r : rels) { if (r instanceof XSSFDrawing) {
final XSSFSheet sheet = getSheetAt(index);
XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); if(xssfSheet == null){ return list;
XSSFSheet sheet = workbook.getSheetAt(0);
public void initHeader(String title, int rowNum, int colNum) { Row row = POIUtils.createRow(this.xssfWorkbook.getSheetAt(0), rowNum); if (row != null) { Cell cell = row.getCell(colNum); if (cell != null) { cell.setCellValue(title); } } }
/** * Get the Sheet object at the given index. * * @param index of the sheet number (0-based physical and logical) * @return Sheet at the provided index */ @Override public SXSSFSheet getSheetAt(int index) { return getSXSSFSheet(_wb.getSheetAt(index)); }
/** * Get the Sheet object at the given index. * * @param index of the sheet number (0-based physical & logical) * @return Sheet at the provided index */ public Sheet getSheetAt(int index) { return getSXSSFSheet(_wb.getSheetAt(index)); }
@Override public int getValueCount() { // TODO check if that's the actual count return _workbook.getSheetAt(_index).getLastRowNum(); }
try { System.out.println("destDir==> "+destDir); XSSFWorkbook workBook = new XSSFWorkbook(destDir); XSSFSheet sheet = workBook.getSheetAt(0); totalRows = sheet.getPhysicalNumberOfRows(); System.out.println("total no of rows >>>>"+totalRows); } catch (IOException e) { e.printStackTrace(); }
protected XSSFSheet readSheet(int index, String name) { XSSFSheet sheet = workbook.getSheetAt(index); if (!sheet.getSheetName().equals(name)) { throw new IllegalArgumentException("The sheet (" + sheet.getSheetName() + ") at index (" + index + ") is expected to have another name (" + name + ")"); } return sheet; }
@Override public List<Object> getValues() { if (values == null) { values = new ArrayList<Object>(); for (int i = 0; i < _workbook.getSheetAt(_index).getLastRowNum(); i++) { XSSFRow row = _workbook.getSheetAt(_index).getRow(i); // TODO use type and add specific object? values.add(getCellValue(row.getCell(_idx))); } } return values; }