yanyaocrystal 2015-09-21 08:13 采纳率: 0%
浏览 19415
已结题

JavaWeb导出Excel,提示格式与文件扩展名不一致

下载部分代码如下
我是参考别人的代码,很多地方不懂,希望大牛解答!
<%@ page language="java" contentType = " text/html;charset=utf-8" import="java.util.*,java.io.File,java.io.*,java.net.*,com.model.*,com.controller.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


DownLoad File


<%
request.setCharacterEncoding( "utf-8" );
String targerName = new String(request.getParameter("targerName").getBytes("ISO-8859-1"), "gb2312");
String filepath="C:/Users/HP/Downloads/";
//以下红色部分最主要
String fullPath = filepath + targerName;

response.reset();
response.setContentType("application/octet-stream");
response.addHeader( "Content-Disposition", "attachment;filename=" + new String(targerName.getBytes("gb2312"), "ISO8859-1"));

OutputStream output = null;
FileInputStream fis = null;

try{
File f = new File(fullPath);
output = response.getOutputStream();
fis = new FileInputStream(f);
byte[] b = new byte[(int)f.length()];
int i = 0;
while((i = fis.read(b)) >0){
output.write(b, 0, i);
}
output.flush();
}catch(Exception e){
e.printStackTrace();
}
finally{
if(fis != null){
fis.close();
fis = null;
}
if(output != null){
output.close();
output = null;
out.clear();
out = pageContext.pushBody();
}
}
%>

  • 写回答

2条回答 默认 最新

  • lizhijast 2015-09-21 08:35
    关注

    request.setCharacterEncoding( "utf-8" );
    String targerName = new String(request.getParameter("targerName").getBytes("ISO-8859-1"), "gb2312");
    utf-8和gbk不能同时用哦,要嘛是你写的代码不正确,就是你导出的EXCEL和你导入的编码不匹配

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序