Hiding and Un-Hiding Rows. Using Excel, it is possible to hide a row on a worksheet by selecting that row (or rows), right clicking once on the right hand mouse button and selecting 'Hide' from the pop=up menu that appears. To emulate this using POI, simply call the setZeroHeight() method on an instance of either XSSFRow or HSSFRow (the method is defined on the ss.usermodel.Row interface that both classes implement), like this; Workbook workbook = new XSSFWorkbook(); // OR new HSSFWorkbook() Sheet sheet = workbook.createSheet(0); Row row = workbook.createRow(0); row.setZeroHeight(); If the file were saved away to disc now, then the first row on the first sheet would not be visible. Using Excel, it is possible to unhide previously hidden rows by selecting the row above and the row below the one that is hidden and then pressing and holding down the Ctrl key, the Shift and the pressing the number 9 before releasing them all. To emulate this behaviour using POI do something like this; Workbook workbook = WorkbookFactory.create(new File(.......)); Sheet = workbook.getSheetAt(0); Iterator row Iter = sheet.iterator(); while(rowIter.hasNext()) { Row row = rowIter.next(); if(row.getZeroHeight()) { row.setZeroHeight(false); } } If the file were saved away to disc now, any previously hidden rows on the first sheet of the workbook would now be visible. The example illustrates two features. Firstly, that it is possible to unhide a row simply by calling the setZeroHeight() method and passing the boolean value 'false'. Secondly, it ilustrates how to test whther a row is hidden or not. Simply call the getZeroHeight() method and it will return 'true' if the row is hidden, 'false' otherwise.