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

How to iterate worksheets in workbook - Scala - spoiwo/poi.apache.org

我正在尝试迭代 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() 方法。

下面是创建 sheet 并在 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)
  }

希望对您有所帮助!