java 操作 excel ,要求从数据库中查询出来的数据 保存到excel文件中,并提示 另存为 路径可以任意选择
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 操作 excel ,要求从数据库中查询出来的数据 保存到excel文件中,并提示 另存为 路径可以任意选择相关的知识,希望对你有一定的参考价值。
如果是给自己做,你完全可以先存在txt、或csv里,用逗号分隔就可以了,转成excel的相当方便,不用再另学习新东西,我一直这么搞的不好意思没看清,是让客户端直接下载数据库导出的excel啊,那就不会了,下载用servlet。追问
我里边要合并单元格、背景颜色等等都有
追答txt,csv转execl还得手动转,明显不符合你的要求。。。
servlet下载我用过这个
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java_files.Tools;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FileDownloadServlet extends HttpServlet
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
String fileName = 文件名;
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment;filename="
+ fileName);
FileInputStream fileInput=new FileInputStream(绝对路径);
OutputStream out = response.getOutputStream();
int i=-1;
byte[] buffer=new byte[1024];
while ((i=fileInput.read(buffer))!=-1)
out.write(buffer,0,i);
out.flush();
out.close();
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
doPost(req, resp);
希望有些帮助吧
你这种方法我也会
我的项目用了Struts,我可以struts下载,我就是想知道 当点击时提示 打开、另存为、取消 框是怎么做的
我不知道struts是怎样的,但servlet就可以实现你想要的效果,浏览器支持。
提示 打开、另存为、取消。。。
如何做呢?????
追答设定了文件名和路径后,想下载,只需要跳转到那个servlet就OK了,我当时是用Flex做的
代码的话。。。
private var serverSide:String = "FileDownloadServlet";
navigateToURL(new URLRequest(serverSide), "_blank");
很久之前的,也就想起来这么多,总之可以告诉你发送给servlet就可以实现你“另存为”的宏愿,原理我也不太明白,当时也是从网上查到的,拿来用感觉很好。自己再试试吧
谢了,我自己解决了
参考技术A 百度 java解析 excel,常用的有po包 和jxl 包追问我能将数据导出来,我是问怎么可以提示另存为?
我要做的是从服务器上下载
提示另存为 需要用下载控件,写一个servlet 即可,例子可以百度个
java注意事项
for循环内进行I/O操作,包括数据库交互,接口调用,redis读取等等,如果可以,尽量转为批量操作
先查询出一个A集合, 然后遍历A集合的每一条数据查询组装A的其他信息 ,共查询1+N次数据库 ,这种问题要么一次查询出来,好么从集合A中获取信息ID ,再根据ID列表查询1次,最后内存中组装信息
代码是要不断优化的,你写的任何代码可能都不是性能最高的,只要当前环境能满足要求就行
循环中操作数据库,弄成批量
以上是关于java 操作 excel ,要求从数据库中查询出来的数据 保存到excel文件中,并提示 另存为 路径可以任意选择的主要内容,如果未能解决你的问题,请参考以下文章
Java JDBC 对要求仅从特定行返回详细信息的 SQL 查询抛出错误
java导出excel 要有选择路径,保存信息是库查询出的数据