![](/img/trans.png)
[英]Iterate TestScripts with multiple data in Excel using POI HSSF
[英]export data in excel using POI hssf WritableWorkbook
我有这个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上,我怎么只是得到一个空白的工作表...我怎么能用它,所以我可以让用户下载一个
我明白你是指我对这个问题的回答 ? 请注意// ...
行,您应该使用数据库中的数据填充工作簿。 这个问题的OP已经知道了,所以为了简洁省略了它。
您可以在POI HSSF自己的站点上找到如何使用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()));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.