使用Groovy / POI在打开的Excel顶部插入行

时间:2013-07-10 19:04:20

标签: groovy apache-poi

如何在Groovy / POI中的test1.xls顶部插入整个空白行?我非常接近完成我的项目,这是最后一块拼图。非常感谢您的帮助。

@Grab( 'org.apache.poi:poi:3.9' )
import static org.apache.poi.ss.usermodel.CellStyle.*
import static org.apache.poi.ss.usermodel.IndexedColors.*
import org.apache.poi.hssf.usermodel.HSSFWorkbook
import org.apache.poi.hssf.usermodel.*
import org.apache.poi.ss.usermodel.Cell
import org.apache.poi.ss.util.CellRangeAddress

// Open the spreadsheet
new File( 'C:\\test1.xls' ).withInputStream { ins ->
  new HSSFWorkbook( ins ).with { workbook ->
    getSheetAt( 0 ).with { sheet ->
      getRow( 0 ).getCell( 0 ).setCellValue( 'ID' )
      getRow( 0 ).getCell( 1 ).setCellValue( 'Start Date' )
      getRow( 0 ).getCell( 2 ).setCellValue( 'End Date' )
      getRow( 0 ).getCell( 3 ).setCellValue( 'Status' )
      getRow( 0 ).getCell( 4 ).setCellValue( 'Instrusive' )
      getRow( 0 ).getCell( 5 ).setCellValue( 'State(s) Impacted' )      
      getRow( 0 ).getCell( 6 ).setCellValue( 'Impacted' )      
    }
    new File( 'C:\\test2.xls' ).withOutputStream { os ->
      write( os )
    }
  }
}

1 个答案:

答案 0 :(得分:5)

您可以使用:

testSheet.shiftRows(0,testSheet.getLastRowNum(), 1);

这会将所有行从0到最后一行向下移动一行。