gpt4 book ai didi

java - 使用 POI hssf WritableWorkbook 在 excel 中导出数据

转载 作者:行者123 更新时间:2023-11-29 05:58:13 26 4
gpt4 key购买 nike

我有这个 DAO..

public class AreaDAO {

private Database database;

public AreaDAO(Database database) {
this.database = database;
}

public List<Area> list() throws SQLException {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
List<Area> areas = new ArrayList<Area>();

try {
connection = database.getConnection();
statement = connection.prepareStatement("select distinct img_hub, country from ifs_db limit 50");
resultSet = statement.executeQuery();
while (resultSet.next()) {
Area area = new Area();
area.setImg_hub(resultSet.getString("img_hub"));
area.setCountry(resultSet.getString("country"));
areas.add(area);
}
} finally {
if (resultSet != null) try { resultSet.close(); } catch (SQLException logOrIgnore) {}
if (statement != null) try { statement.close(); } catch (SQLException logOrIgnore) {}
if (connection != null) try { connection.close(); } catch (SQLException logOrIgnore) {}
}

return areas;
}
}

这会产生一个数据列表...

如何让用户只需点击链接就可以下载excel中的所有数据..

我研究了我们并发现了这个......(BalusC)

    response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=name.xls");
WritableWorkbook workBook = Workbook.createWorkbook(response.getOutputStream());

我将它放在我的 servlet 中,但我怎么会得到一个空白工作表...我该如何使用它才能让用户下载一个

最佳答案

我知道您指的是我在 this question 上的回答?注意 // ...行,这是您应该使用数据库中的数据填充工作簿的地方。该问题的 OP 已经知道这一点,因此为简洁起见将其省略。

您可以在 HSSF 自己的站点上找到 POI a quick guide如何使用 API。

这是一个如何创建带有单元格的工作表的启动示例。

response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=name.xls");
WritableWorkbook workbook = Workbook.createWorkbook(response.getOutputStream());
WritableSheet sheet = workbook.createSheet("Sheet1", 0);
sheet.addCell(new Label(0, 0, "Hello World"));
// ...
workbook.write();
workbook.close();

您可以在遍历 List<Area> 时添加单元格.例如

for (int i = 0; i < list.size(); i++) {
Area area = list.get(i);
sheet.addCell(new Label(0, i, area.getImgHub()));
sheet.addCell(new Label(1, i, area.getCountry()));
}

关于java - 使用 POI hssf WritableWorkbook 在 excel 中导出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11197647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com