如果你想将DataFrame生成Excel文件,但不需要指定大小分页,可以直接遍历DataFrame的行并写入Excel中。以下是修改后的代码:
import org.apache.poi.hssf.usermodel.{HSSFWorkbook, HSSFSheet, HSSFRow}
import java.io.FileOutputStream
def generateExcelWithoutPagination(dataFrame: DataFrame): Unit = {
val workbook: HSSFWorkbook = new HSSFWorkbook()
val sheet: HSSFSheet = workbook.createSheet("Sheet1")
dataFrame.collect().zipWithIndex.foreach { case (row, rowIndex) =>
val excelRow: HSSFRow = sheet.createRow(rowIndex)
row.schema.fieldNames.zipWithIndex.foreach { case (columnName, columnIndex) =>
excelRow.createCell(columnIndex).setCellValue(row.getAs[String](columnName))
}
}
// 将生成的Excel保存到文件中
val fileOut: FileOutputStream = new FileOutputStream("output.xls")
workbook.write(fileOut)
fileOut.close()
}
这样,你只需传入一个DataFrame对象即可将其数据写入到Excel文件中。请确保正确导入所需的依赖项,并根据具体需求进行适当调整。
内容由零声教学AI助手提供,问题来源于学员提问