因为经常要用到导出功能,之前因为文件名乱码,所以都用英文或是拼音缩写来代替,今天特意要接觉下这个问题。顺便记录下。望对小白有用。

/**

* 导出结算详情列表

* @return

*/

public void  depositLogExport()

{

String title = "押金流水报表";

String excelName = "押金流水报表.xls";

OutputStream os = null;

try

{

int shopId=new Long(getShopLoginer().getShop().getId()).intValue();

if(date==null){

date=new DateBean();

}

int count=service.getCount(shopId, date);

Page pageResult =new Page();

if(count>0){

pageResult = service.list(1, count, shopId, date);

}

List> list = new ArrayList>();

double shopDeposit=getShopLoginer().getShop().getDeposit();

for (DepositLog s : pageResult.getData())

{

Map map = new HashMap();

map.put("id", s.getId());

map.put("depositSn", s.getDepositSn());

map.put("createTime",                     StringUtils.timestampToString(s.getCreateTime()));

map.put("type", type[s.getType()]);

map.put("amount", s.getAmount());

map.put("depositRest", s.getDepositRest());

map.put("depositGap", shopDeposit-s.getDepositRest());

map.put("userName", s.getUserName());

map.put("remarks", s.getRemarks());

list.add(map);

}

// 表格表头

String[] header = {"流水号","流水时间","类型","流水金额","押金余额","押金缺口","操作人","备注"};

// 对应Map中的key

String[] key = { "depositSn", "createTime","type",

"amount", "depositRest", "depositGap", "userName", "remarks"};

HSSFWorkbook workbook = null;

HttpServletResponse response = ServletActionContext

.getResponse();

workbook = ExportUtil.workPaperExport(list, header, key,

title, true, null, null, null);

os = response.getOutputStream();

response.setHeader("Content-disposition",

"p_w_upload; filename=" + toUtf8String(excelName));

response.setContentType("application/msexcel;charset=UTF-8");

workbook.write(os);

os.flush();

} catch (Exception e) {

if (logger.isDebugEnabled())

logger.error(e.getMessage(), e);

e.printStackTrace();

} finally {

try {

if (os != null)

os.close();

} catch (IOException e) {

if (logger.isInfoEnabled())

logger.error(e.getMessage(), e);

e.printStackTrace();

}

}

//return null;

}

//文件名乱码处理

public static String toUtf8String(String s){

StringBuffer sb = new StringBuffer();

for (int i=0;i

char c = s.charAt(i);

if (c >= 0 && c <= 255){sb.append(c);}

else{

byte[] b;

try { b = Character.toString(c).getBytes("utf-8");}

catch (Exception ex) {

System.out.println(ex);

b = new byte[0];

}

for (int j = 0; j < b.length; j++) {

int k = b[j];

if (k < 0) k += 256;

sb.append("%" + Integer.toHexString(k).toUpperCase());

}

}

}

return sb.toString();

}

报表服务器导出报表文件名乱码,excel 导出文件名乱码相关推荐

  1. linux 导出 excel文件名乱码,excel导出,文件名称中文乱码问题 · 大腿的博客

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 记录一个excel导出遇见的中文名称的问题 接到项目需要有excel的导入导出功能,基于poi实现还是挺简单的,文件的导 ...

  2. python数据导出excel_python 数据生成excel导出(xlwt,wlsxwrite)代码实例

    这篇文章主要介绍了python 数据生成excel导出(xlwt,wlsxwrite)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 话不多 ...

  3. ArcMap(ArcGIS)导出属性表用Excel打开中文乱码的解决方法

    前些天在做GIS实验时,发现用Excel打开ArcMap10.7导出的属性表中文是乱码,数字正常显示,便在网上搜罗解决方法.网上方法太多,比如下载安装官方补丁,修改注册表等等.个人感觉,麻烦而且不确定 ...

  4. 数据库导出到CSV用Excel打开中文乱码问题

    数据库导出选择的格式为UTF-8,csv 由于excel默认是gb2312编码或其他形式,需要将其转为utf-8编码形式 具体操作如下:将csv格式文件,用记事本打开,然后另存为UTF-8格式文本,再 ...

  5. 修改t3报表服务器,t3报表服务器配置

    t3报表服务器配置 内容精选 换一换 简要介绍Minimap2是一种多功能序列比对程序,可将DNA或mRNA序列与大型参考数据库对齐.语言:C/C++一句话描述:多功能序列比对程序开源协议:MIT建议 ...

  6. Java使用EasyExcel导出简单、复杂excel,以及多个excel打包导出下载zip

    EasyExcel是一款阿里开源的一款非常优秀Excel导入导出工具,使用内存小,处理速度快,使用方便,正好最近项目中有用到多个excel导出下载的功能,便记录下 EasyExcel使用git地址:G ...

  7. php报表服务器配置,服务器_SQL Server 2008升级报表服务器数据库,报表服务器数据库可以为一个 - phpStudy...

    SQL Server 2008升级报表服务器数据库 报表服务器数据库可以为一个或多个报表服务器实例提供内部存储.因为报表服务器数据库架构可能会因为推出新的 Reporting Services 版本而 ...

  8. JAVA导出404_从ActiveReports 8导出Excel时出错404

    我一直在努力工作两周,大部分时间都花在等待我的支持问题的回应上 . 我有解决方案,我将在这里发布,希望它可以帮助下一个遇到这个问题的人 . 我将投入大量不必要的细节来增加下一个发现这个的可能性 . 我 ...

  9. Power BI 报表服务器企业一站式全链路解决方案

    Power BI 报表服务器企业一站式全链路解决方案 (单点登录,自定义报表门户,自定义权限,应用集成) 前言 Power BI 从诞生开始就成为耀眼的明星,有着几大优势 1.快速上手 2.简单明了 ...

最新文章

  1. Oracle:推迟了的Java Enterprise Edition 8将会在“今年之内”发布
  2. 计算机中丢失ZJCAKeyAdmin,ZJCA数字证书客户端
  3. navicat for Oracle连接
  4. 用python分析小说_用Python对哈利波特系列小说进行情感分析
  5. 网站页面增加一个简单的密码登录访问php网站源码
  6. git 基础 tag 打标签
  7. android高德地图设置经纬度,安卓高德地图开发自定义线路规划(按着自己定义的经纬度规划线路)...
  8. 一个新时代的降临:智慧的医疗系统
  9. 将Excel文件数据导入到SqlServer数据库的三种方案
  10. (翻译)UIP Application Block学习系列(三)UIP概念
  11. 【网络协议】openR调研
  12. 用阿里服务器搭建彩虹网代刷平台
  13. 海康视频WEB插件 V1.5.2 开发总结
  14. 硅钢片铁芯、坡莫合金、非晶及纳米晶软磁合金
  15. 中国科学数学模板如何在CTEX和texstudio中顺利运行
  16. 公钥和私钥的区别与应用-----到底谁来加密谁来解密
  17. Pollard rho整数分解法
  18. 电商运营:数据分析的5大思维和8个指标
  19. 我的手机游戏回忆-风云剑侠
  20. 北邮22信通:实验五 共射放大电路的频率特性与深负反馈的影响

热门文章

  1. ArcGIS+ENVI实现遥感分类精度评估(分层抽样法)
  2. html5漂亮的登录与注册界面设计,漂亮的网页登陆/注册表单设计
  3. 最新微信ipad协议
  4. python标准库很丰富支持多种编程范式_基础班-第03天{python基础}
  5. 【OR】YALMIP 半正定规划
  6. Steam CMD是什么?Steam CMD怎么用?
  7. 【干货分享】最新WHQL徽标认证申请流程
  8. docker中mysql数据定时备份_[Docker]MySql 定时备份
  9. ubuntu20.04更换清华源
  10. leetcode记录汇总