导出的Excel名字乱码_恢复的excel文件乱码

导出的Excel名字乱码_恢复的excel文件乱码因为经常要用到导出功能,之前因为文件名乱码,所以都用英文或是拼音缩写来代替,今天特意要接觉下这个问题。顺便记录下。望对小白有用。/***导出结算详情列表*@return*/publicvoiddepositLogExport(){Stringtitle=”押金流水报表”;StringexcelName=”押金流水报表.xls”;OutputStreamos=null;t…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

/**

* 导出结算详情列表

* @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();

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179109.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 公司各个部门所有英文缩写怎么写_公司有哪几个部门

    公司各个部门所有英文缩写怎么写_公司有哪几个部门总公司:HeadOffice(HO)分公司:BranchOffice(BO)营业部:BusinessOffice(BO)人事部:PersonnelDepartment(PD)人力资源部:HumanResourcesDepartment(HR)总务部:GeneralAffairsDepartment(GAD)财务部:GeneralAcc

    2025年8月19日
    3
  • tomcat出现乱码怎么办_tomcat输出日志乱码

    tomcat出现乱码怎么办_tomcat输出日志乱码1.打开tomcat如下位置:找到logging-properties文件,选择用代码编辑器打开(我这里选择用idea)2.在25-47行中把五个红框起来的UTF-8改为GB2312此时点击bin,目录下的startup.bat(window用户)或startup.sh(mac用户)启动tomcat,控制台的乱码问题解决。如果此时还没有解决乱码问题,需要1.windows+R打开运行,在运行框中输入regedit,进入注册表编辑器中2.如果没有Tomcat或者CodePag(1)

    2022年9月25日
    4
  • NSUserDefaults数据保存报错:Attempt to set a non property list object

    NSUserDefaults数据保存报错:Attempt to set a non property list object

    2022年3月12日
    48
  • 史上最详细的虚拟机VMware12安装Windows7教程「建议收藏」

    摘要:VMware是一个强大的虚拟机,可以在一台电脑上模拟真实的环境,创建出一个虚拟机系统,并且可以在这个系统进行测试和其他的操作,当然你也可以直接网上下载现成的虚拟机镜像或者,网络上有很多的Ghost等文件,这类系统可能经过别人一些优化,但是优化的过程可能阉割了某些系统的文件,或者被植入一些广告等,文本一步步详细说明如何利用VMware12安装一个Win7系统,虚拟机win7镜像文件iso…

    2022年4月12日
    42
  • ubuntu安装qt运行环境_qt5安装教程

    ubuntu安装qt运行环境_qt5安装教程一、最近这家公司接到一个订单,客户使用到国产操作系统,意味着需要使用到Linux系统,于是乎,之前的东西又要捡起来,而且,平时代码主要是windows平台,这次需要将代码移植到linux平台,并且,由于这家公司主要买设备,因此,需要使用一些Demo测试软件,而在linux平台,目前主流的GUI程序编写主要用到QT,因此,需要安装QT.第一次尝试在linux使用QT安装过程遇到非常多问题,因此,这篇文章记录下,如何在Ubuntu下安装QT.二、安装平台:2.1Linux

    2022年10月16日
    5
  • 拆解滴滴大脑 叶杰平谈出行领域算法技术

    拆解滴滴大脑 叶杰平谈出行领域算法技术近日,滴滴研究院副院长叶杰平在上海一场内部分享会上详细解读了滴滴大脑,这是外部首次窥探到较为完整的滴滴算法世界,并且一直潜水的产品“九霄”也首次露出真容。滴滴出行研究院副院长叶杰平滴滴大脑由三部分组成叶杰平将滴滴大脑这个智能系统分为三部分,分别是大数据、机器学习和云计算。其中大数据就像工业革命时代的煤一样举足轻重,人工智能需要数据进行训练,纵观应用级深度学习的成功案例,他们都获得了海量数据,…

    2022年5月5日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号