如何在工作簿中迭代工作表 - Scala - spoiwo / poi.apache.org

时间:2017-06-08 14:36:01

标签: excel scala spoiwo

我正在尝试在Excel工作簿中迭代工作表。     我正在使用Scala的spoiwo / poi.apache

以下是Java中的文档

for (Sheet sheet : wb ) {
    for (Row row : sheet) {
        for (Cell cell : row) {
            // Do something here
        }
    }
}

这是我尝试过的。

def IterateSheets(): Unit ={
    var wb:XSSFWorkbook = new XSSFWorkbook();
    var sheet:XSSFSheet = wb.createSheet();
    sheet = wb.createSheet();
    sheet = wb.createSheet();
    for(sht:XSSFSheet <- wb ){
      println(sht.getSheetName());
    }
}

我收到错误:

Error:(28, 22) value filter is not a member of org.apache.poi.xssf.usermodel.XSSFWorkbook
for(sht:Sheet <- wb ){

我也试过

for(sht:XSSFSheet <- wb.iterator() ){

我没有看到任何workbook.sheetIterator()方法。

1 个答案:

答案 0 :(得分:2)

以下是创建工作表并在Apache Poi和Scala中显示列表的简单示例。工作簿中有sheetIterator()方法。

  val myWorkbook = new XSSFWorkbook()

  var sheets = myWorkbook.createSheet()

  sheets = myWorkbook.createSheet()

  val sheetItr = myWorkbook.sheetIterator()
  while (sheetItr.hasNext){
    println("******** " + sheetItr.next().getSheetName)
  }

希望这有帮助!