导航:首页 > 编程语言 > java下载xlsx

java下载xlsx

发布时间:2023-02-13 21:02:11

① 用java下载一个excel文件,在Response.setContentType()参数中

response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。
例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型来处理json字符串。
Tomcat的安装目录\conf\web.xml
中就定义了大量MIME类型
,可以参考。
response.setContentType("text/html;
charset=utf-8");
html
.setContentType("text/plain;
charset=utf-8");
文本
text/javascript
json数据
application/xml
xml数据

个方法设置发送到客户端的响应的内容类型,此时响应还没有提交。给出的内容类型可以包括字符编码说明,例
如:text/html;charset=UTF-8.如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型
中设置。该方法如果在getWriter()方法被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设

Content-type实体报头。
一般在Servlet中,习惯性的会首先设置请求以及响应的内容类型以及编码方式:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
response.setContentType()的String参数及对应类型
value="image/bmp">BMP
value="image/gif">GIF
value="image/jpeg">JPEG
value="image/tiff">TIFF
value="image/x-dcx">DCX
value="image/x-pcx">PCX
value="text/html">HTML
value="text/plain">TXT
value="text/xml">XML
value="application/afp">AFP
value="application/pdf">PDF
value="application/rtf">RTF
value="application/msword">MSWORD
value="application/vnd.ms-excel">MSEXCEL
value="application/vnd.ms-powerpoint">MSPOWERPOINT
value="application/wordperfect5.1">WORDPERFECT
value="application/vnd.lotus-wordpro">WORDPRO
value="application/vnd.visio">VISIO
value="application/vnd.framemaker">FRAMEMAKER
value="application/vnd.lotus-1-2-3">LOTUS123
MIME映射策略就是在网页中使用哪个应用程序(即插件),打开哪种文件。另外还有使用权限问题。比如对PDF文档,用“application/pdf
“策略。这在动态网页中很常见。出现这种现象,有两种情形:一是使用一个应用程序去打开它不能打开的文档,比如用在标签中定义“DWG”文档用
“application/pdf
”,就会出现无法打开的问题。二是文件扩展名符合要求,但文件内容(格式)不符合要求。你可以检查你浏览的网页源代码,获得出错信息。检查方法是:查看—
源文件。寻找类似于“application/pdf
“的字符串,就可以看到,要打开的文件是否与应用程序匹配。
追问
如果不相匹配
如何解决回答
这通常是由网页编写人来更改。比如:你在源文件里面找到你要打开的文件的HTML标签,在里面加上应用程序即可。比如,你要在网页上打开一个PDF文档,
找到PDF文档那一行,在HTML标签里加上
type=“application/pdf

就可以了

② java如何将导出的excel下载到客户端

packagecom.mr;

importjava.io.IOException;
importjava.io.PrintWriter;

importjavax.servlet.ServletException;
importjavax.servlet.ServletOutputStream;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
/**
*利用Servlet导出Excel
*@authorCHUNBIN
*
*/
{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
request.setCharacterEncoding("UTF-8");//设置request的编码方式,防止中文乱码
StringfileName="导出数据";//设置导出的文件名称
StringBuffersb=newStringBuffer(request.getParameter("tableInfo"));//将表格信息放入内存
StringcontentType="application/vnd.ms-excel";//定义导出文件的格式的字符串
StringrecommendedName=newString(fileName.getBytes(),"iso_8859_1");//设置文件名称的编码格式
response.setContentType(contentType);//设置导出文件格式
response.setHeader("Content-Disposition","attachment;filename="+recommendedName+""");//
response.resetBuffer();
//利用输出输入流导出文件
ServletOutputStreamsos=response.getOutputStream();
sos.write(sb.toString().getBytes());
sos.flush();
sos.close();
}
}
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<title>导出Excel</title>
<scripttype="text/javascript">
functiontest(){
document.getElementById("tableInfo").value=document.getElementById("table").innerHTML;
}
</script>
<style>
body{font-family:宋体;font-size:11pt}
</style>
</head>
<body>
<formaction="<%=request.getContextPath()%>/servlet/ExportExcelServlet"method="post">
<spanid="table">
<tablebgcolor="#EEECF2"bordercolor="#A3B2CC"border="1"cellspacing="0">
<tr><th>学号</th><th>姓名</th><th>科目</th><th>分数</th></tr>
<tr><td>10001</td><td>赵二</td><td>高数</td><td>82</td></tr>
<tr><td>10002</td><td>张三</td><td>高数</td><td>94</td></tr>
<tr><td>10001</td><td>赵二</td><td>线数</td><td>77</td></tr>
<tr><td>10002</td><td>张三</td><td>线数</td><td>61</td></tr>
</table>
</span><br/>
<inputtype="submit"name="Excel"value="导出表格"onclick="test()"/>
<inputtype="hidden"id="tableInfo"name="tableInfo"value=""/>
</form>
</body>
</html>

以上代码来自网络:http://jtlyuan.iteye.com/blog/1322097

③ 把一个excel文件放在java代码web-inf目录下,别人通过一个链接访问,可以下载。 这个链接是什么样子的

程序代码:
InputStream is=getServletContext().getResourceAsStream( "/WEB-INF/test.xlsx" );
方法二:将excel文件放在/WEB-INF/classes目录下或classpath的jar包中,则可以使用ClassLoader的静态
方法getSystemResourceAsStream(String s)读取;

④ java下载excel 不预览

第一:检查导入包是否完整(poi-3.5-beta4-20081128.jar poi的核心架包,poi-contrib-3.5-beta4-20081128.jar 可选poi-ooxml-3.5-beta4-20081128.jar 可选poi-scratchpad-3.5-beta4-20081128.jar 可选)
第二:创建视图(主要检查输出函数是否正确)
第三:servlet创建
1.导入servlet相关包
第四:创建service(poiservice),导入包
希望能帮到你,谢谢!

⑤ java如何实现从服务器下载已经生成好的excel文件

使用 HttpURLConnection 去下载 ,按二进制保存文件 ~~~~~~~~~

⑥ 怎么使用Java完成下载excel文件,服务器上excel文件是直接存在的而不是导出的(必须使用action)

写个文件专门提供下载文件也可以,但那样对于你这种情况明显多余了,把服务器端Excel文件的MIME类型映射信息改成application/octet-stream即可。这个映射可以在web.xml中定义。

⑦ 请问下,我想用java实现下载excel表格,思路是先在临时文件里生成临时excel文件,但是不知

你的意思是 导出excel表格吧。 导出的时候会创建临时文件 但是导出后要删除临时文件吧

阅读全文

与java下载xlsx相关的资料

热点内容
未来最值得投资的加密货币 浏览:526
ascii码是编译的时候用吗 浏览:779
压缩机感应包可以通用吗 浏览:410
方舟服务器怎么发布到搜索列表 浏览:270
xml防反编译 浏览:239
数据传输加密系统技术方案 浏览:842
程序员没有准备去面试 浏览:4
51单片机usb鼠标 浏览:879
qq服务器的ip地址查询 浏览:112
java仿qq聊天 浏览:400
解压的ipa重新打包 浏览:142
程序员那么可爱vip版 浏览:239
程序员怎么升职 浏览:243
图形化命令按钮vb 浏览:987
vcu盘加密怎么设置 浏览:414
如何加密备份微信聊天记录 浏览:529
安卓手机如何模拟键盘 浏览:932
查看dns地址命令 浏览:768
android录屏工具 浏览:841
成都互动直播系统源码 浏览:955