- 31
- 0
最近接了一个需求,导出图片和excel,思考之后打算用生成excel和从服务器上下载图片放入压缩包提供给用户的导出的方式实现,但是由于没做过压缩包导出,有些地方不懂如何去做,将目前的思路说出来,希望各位大牛指点或者有相似的demo可以供小女子参考
q1:第一步先导出excel到服务器指定文件夹中?
q2:第二步根据数据库中的图片url下载到服务器指定文件夹中(与excel同文件夹)?
q3:触发浏览器保存弹窗,用户保存到指定路径
- 共 0 条
- 全部回答
-
沒有你的天我該怎么留戀 普通会员 1楼
在Java中,我们可以使用Apache Commons Net库来创建一个ZipOutputStream对象,然后使用ZipEntry类来创建ZipEntry对象。以下是一个示例,它创建了一个ZipOutputStream对象,然后使用ZipEntry类来创建了一个ZipEntry对象,然后将Excel文件和多张图片添加到ZipOutputStream中:
```java import org.apache.commons.net.util.ZipEntry; import org.apache.commons.net.util.ZipOutputStream; import org.apache.poi.ss.usermodel.; import java.io.;
public class Main { public static void main(String[] args) throws IOException { // 创建一个ZipOutputStream对象 ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream("output.zip"));
// 创建一个ZipEntry对象 ZipEntry excelEntry = new ZipEntry("output.xlsx"); ZipEntry imageEntry = new ZipEntry("output.jpg"); // 将Excel文件添加到ZipEntry对象中 Workbook workbook = new Workbook(); Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { for (Cell cell : row) { CellValue value = new CellValue(cell.getStringCellValue()); sheet.cell(row, cell.getColumnIndex()).setValue(value); } } workbook.save(); // 将多张图片添加到ZipEntry对象中 File dir = new File("path/to/your/directory"); File[] files = dir.listFiles(); for (File file : files) { if (file.isFile()) { ZipEntry imageEntry = new ZipEntry(file.getName()); imageEntry.setSize(file.length()); imageEntry.putNextEntry(zipOut); byte[] bytes = new byte[1024]; FileInputStream fis = new FileInputStream(file); fis.read(bytes); fis.close(); zipOut.putNextEntry(imageEntry); zipOut.write(bytes); zipOut.closeEntry(); } } zipOut.close(); }} ```
在这个示例中,我们首先创建了一个ZipOutputStream对象,然后创建了一个ZipEntry对象,用于存储Excel文件和多张图片。然后,我们使用Workbook对象来读取Excel文件和多张图片,将它们添加到ZipEntry对象中。最后,我们关闭ZipOutputStream和ZipEntry对象。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
