Java 将本机查询结果导出到Excel JPA
在我的web应用程序中,我需要将MySQL本机查询结果导出到Excel文件。我事先不知道查询中将包含多少列,也无法为其创建任何预定义的类 我搜索了很多,但找不到任何将MySQL本机查询结果导出到Excel文件的内容 有人能告诉我如何才能做到这一点吗?你们可以使用图书馆。您的代码如下所示:Java 将本机查询结果导出到Excel JPA,java,mysql,excel,jpa,Java,Mysql,Excel,Jpa,在我的web应用程序中,我需要将MySQL本机查询结果导出到Excel文件。我事先不知道查询中将包含多少列,也无法为其创建任何预定义的类 我搜索了很多,但找不到任何将MySQL本机查询结果导出到Excel文件的内容 有人能告诉我如何才能做到这一点吗?你们可以使用图书馆。您的代码如下所示: public class ExcelFile { private final List<Object[]> data; private final String filePath;
public class ExcelFile {
private final List<Object[]> data;
private final String filePath;
public ExcelFile(final List<Object[]> data, final String filePath) {
this.data = data;
this.filePath = filePath;
}
public void export() {
try (XSSFWorkbook workbook = new XSSFWorkbook()) {
XSSFSheet sheet = workbook.createSheet();
fillSheet(sheet);
workbook.write(new FileOutputStream(filePath));
} catch (IOException ignore) {
ignore.printStackTrace();
}
}
private void fillSheet(final XSSFSheet sheet) {
for (int i = 0; i < data.size(); i++) {
XSSFRow excelRow = sheet.createRow(i);
Object[] dbRow = data.get(i);
fillRow(excelRow, dbRow);
}
}
private void fillRow(final XSSFRow row, final Object[] dbRow) {
for (int j = 0; j < dbRow.length; j++) {
XSSFCell cell = row.createCell(j);
cell.setCellValue(String.valueOf(dbRow[j]));
}
}
}
公共类文件{
私人最终名单数据;
私有最终字符串文件路径;
公共Excel文件(最终列表数据、最终字符串文件路径){
这个数据=数据;
this.filePath=filePath;
}
公共空间导出(){
尝试(XSSF工作簿=新XSSF工作簿()){
XSSFSheet sheet=workbook.createSheet();
填表(张);
write(新文件输出流(文件路径));
}捕获(IOException忽略){
ignore.printStackTrace();
}
}
私人空白填写表(最终XSSF表){
对于(int i=0;i
Maven依赖项:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
org.apache.poi
谢谢,这很有帮助。我还在查询中添加了一些小的分析,并将标题也写入了文件中。