从Java Play Framework 2.0 List<object>生成/导出Excel文件

3
我需要从一个对象列表生成/导出Excel文件的表格。我发现Play 1.x有一个模块,但Play 2.x没有。我找到了一个可能的解决方案,但它是用Scala编写的。链接在这里:http://aishwaryasinghal.wordpress.com/2012/05/17/generating-excel-in-play-2/
我尝试实现这个方案,但我认为我的导入不起作用。
import java.io.FileOutputStream;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.xssf.*;

import org.apache.poi.xssf.eventusermodel.XSSFReader;
import org.apache.poi.xssf.model.SharedStringsTable;
import org.apache.poi.openxml4j.opc.OPCPackage;

public static void generateExcel(List<Infoobject> list) {
        File file = new File("mydata.xlsx");
        FileOutputStream fileOut = new FileOutputStream(file);
        XSSFWorkbook wb = new XSSFWorkbook();
            //Workbook wb = new XSSFWorkbook(); Doesn't work either
        Sheet sheet = wb.createSheet("Sheet1");
        int rNum = 0;
        Row row = sheet.createRow(rNum);
        int cNum = 0;
        Cell cell = row.createCell(cNum);
        cell.setCellValue("My Cell Value");
        wb.write(fileOut);
        fileOut.close();
    }

它找不到XSSFWorkbook、Sheet、Row和Cell。你们知道问题可能是什么吗?

我可以使用另一个解决方案,只需用纯Java编写它吗?或者用Javascript?

我知道我后面需要迭代我的List来获取一些Excel文件中的内容。这只是一个尝试,看看它是否起作用。


2
你的类路径中是否有apache-poi库?这些类就是从那里来的。 - Kayaman
1
如果您想要在生成Excel文件时获得更Scala风格的体验,您可能想尝试https://github.com/folone/poi.scala。 - George
我应该将哪些文件放入类路径中?是只需要放置 poi-examples-3.9-20121203.jar 吗?在 Eclipse 中,应该通过以下路径进行设置:Properties>Java Build Path>Libraries>Add JAR。那么这个文件应该放在哪里呢?是应该放在 Play 框架的 lib 目录下吗? - Kungen
2个回答

3

您只需将依赖项添加到 build.sbt 中:

libraryDependencies ++= Seq(
    javaJdbc,
    cache,
    javaEbean,
    "org.apache.poi" % "poi" % "3.8",
    "org.apache.poi" % "poi-ooxml" % "3.9"
)

然后,您需要重新生成您的项目(例如play idea),并正常运行。第一次运行将从Maven加载所有新的依赖项,这样您就可以开始工作了。


0

尝试使用Jasper Report,它是将模型中的数据导出到EXCEL文件/报告的好方法。如果您需要一些样本,我可以发送给您;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接