javapoi文件名乱码

java poi导出excel乱码

在不同的系统下字符集的编码有可能不一样,windows系统中从程序到底层是从unicode编码进行转换,unix系统下就不一定是从unicode编码开始转换的,支不支持unicode编码我也不知道,我估计就是系统的字符集编码不同的问题

javapoi文件名乱码

POI导出excel表时文件名变成乱码怎么办

在用POI进行excel表导出时,遇到中文文件名乱码问题,用下面的方法得到了解决。

转载自:

在导出前对名称根据浏览器做下处理

[java] view plain copy

code class=”hljs typescript” style=””span class=”hljs-comment” style=””// 判断浏览器类型,firefox浏览器做特殊处理,否则下载文件名乱码/span

span class=”hljs-keyword” style=””public/span span class=”hljs-keyword” style=””static/span span class=”hljs-built_in” style=””void/span compatibleFileName(HttpServletRequest request, HttpServletResponse response, span class=”hljs-built_in” style=””String/span excelname) throws UnsupportedEncodingException {

span class=”hljs-built_in” style=””String/span agent = request.getHeader(span class=”hljs-string” style=”””USER-AGENT”/span).toLowerCase();

response.setContentType(span class=”hljs-string” style=”””application/vnd.ms-excel”/span);

span class=”hljs-built_in” style=””String/span fileName = excelname;

span class=”hljs-built_in” style=””String/span codedFileName = java.net.URLEncoder.encode(fileName, span class=”hljs-string” style=”””UTF-8″/span);

span class=”hljs-keyword” style=””if/span (agent.contains(span class=”hljs-string” style=”””firefox”/span)) {

response.setCharacterEncoding(span class=”hljs-string” style=”””utf-8″/span);

response.setHeader(span class=”hljs-string” style=”””content-disposition”/span, span class=”hljs-string” style=”””attachment;filename=”/span + span class=”hljs-keyword” style=””new/span span class=”hljs-built_in” style=””String/span(fileName.getBytes(), span class=”hljs-string” style=”””ISO8859-1″/span) + span class=”hljs-string” style=”””.xls”/span);

} span class=”hljs-keyword” style=””else/span {

response.setHeader(span class=”hljs-string” style=”””content-disposition”/span, span class=”hljs-string” style=”””attachment;filename=”/span + codedFileName + span class=”hljs-string” style=”””.xls”/span);

}

}/code

JAVA使用POI读写word 乱码

public static void main(String args[])

throws Exception

{

XWPFDocument doc = new XWPFDocument();

XWPFParagraph p1 = doc.createParagraph();

p1.setAlignment(ParagraphAlignment.CENTER);

p1.setBorderBottom(Borders.DOUBLE);

p1.setBorderTop(Borders.DOUBLE);

p1.setBorderRight(Borders.DOUBLE);

p1.setBorderLeft(Borders.DOUBLE);

p1.setBorderBetween(Borders.SINGLE);

p1.setVerticalAlignment(TextAlignment.TOP);

XWPFRun r1 = p1.createRun();

r1.setBold(true);

r1.setText(“The quick brown fox”);

r1.setBold(true);

r1.setFontFamily(“Courier”);

r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH);

r1.setTextPosition(100);

XWPFParagraph p2 = doc.createParagraph();

p2.setAlignment(ParagraphAlignment.RIGHT);

p2.setBorderBottom(Borders.DOUBLE);

p2.setBorderTop(Borders.DOUBLE);

p2.setBorderRight(Borders.DOUBLE);

p2.setBorderLeft(Borders.DOUBLE);

p2.setBorderBetween(Borders.SINGLE);

XWPFRun r2 = p2.createRun();

r2.setText(“jumped over the lazy dog”);

r2.setStrike(true);

r2.setFontSize(20);

XWPFRun r3 = p2.createRun();

r3.setText(“and went away”);

r3.setStrike(true);

r3.setFontSize(20);

r3.setSubscript(VerticalAlign.SUPERSCRIPT);

XWPFParagraph p3 = doc.createParagraph();

p3.setWordWrap(true);

p3.setPageBreak(true);

p3.setAlignment(ParagraphAlignment.BOTH);

p3.setSpacingLineRule(LineSpacingRule.EXACT);

p3.setIndentationFirstLine(600);

XWPFRun r4 = p3.createRun();

r4.setTextPosition(20);

r4.setText(“To be, or not to be: that is the question: Whether ’tis nobler in the mind to suffer The slings and arrows of outrageous fortune, Or to take arms against a sea of troubles, And by opposing end them? To die: to sleep; “);

r4.addBreak(BreakType.PAGE);

r4.setText(“No more; and by a sleep to say we end The heart-ache and the thousand natural shocks That flesh is heir to, ’tis a consummation Devoutly to be wish’d. To die, to sleep; To sleep: perchance to dream: ay, there’s the rub; …….”);

r4.setItalic(true);

XWPFRun r5 = p3.createRun();

r5.setTextPosition(-10);

r5.setText(“For in that sleep of death what dreams may come”);

r5.addCarriageReturn();

r5.setText(“When we have shuffled off this mortal coil,Must give us pause: there’s the respectThat makes calamity of so long life;”);

r5.addBreak();

r5.setText(“For who would bear the whips and scorns of time,The oppressor’s wrong, the proud man’s contumely,”);

r5.addBreak(BreakClear.ALL);

r5.setText(“The pangs of despised love, the law’s delay,The insolence of office and the spurns…….”);

FileOutputStream out = new FileOutputStream(“simple.docx”);

doc.write(out);

out.close();

}

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月27日 16:34:45
下一篇 2024年3月27日 16:43:54

相关推荐

  • java读取文件内容乱码,java读取文件编码格式

    java中filewriter中文乱码怎么解决? 1、如果你期望写到文件中的汉字是 GBK编码,可以写文件时,将字符串准换成 GBK编码的byte[]。网页编码和输出流编码一致。 2、读取文件的时候如果是用的read方法(字节流),碰到中文输出就是乱码,然后存储的时候设置下编码为GBK或者是UTF-8形式即可,可以有效的解决乱码问题。 3、只是个别文件出现了…

    2024年5月23日
    4300
  • word粘贴excel表格,word粘贴excel表格身份证号码乱码

    从word复制表格到excel保持不变 方法如下:启动word软件,选中word里的表格,复制,粘贴至excel表格中时,选择粘贴格式为保留源格式,就实现了粘贴时格式不变。 在桌面中找到需要进行修改的word的表格,鼠标左键双击打开该表格。在打开的word文档中找到要复制的表格,鼠标左键选中该表格。选中完毕后右键调出功能框,在功能框点击复制选项留作备用,如下…

    2024年5月23日
    3900
  • linuxfor循环do,Linuxfor循环修改文件名

    linux中shell编程for循环问题 for ((i=1;i20;i=i+2));do echo $i done 类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。 Shell中的for循环语句与一般编程语言里的for语句有些不同,在shell中,for的作用是对一组参数都执行一个操作。其语法形式为:f…

    2024年5月22日
    4400
  • linux文件名带星号,linux 文件名 问号

    linux文件右上角有个星号啥意思 linux计划任务crontab配置文件中的最后一个星星代表所有可能的值 crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。cron 系统调度进程。 在文件名扩展(Filename expansion)上,她用来代表任何字元,包含 null…

    2024年5月22日
    5300
  • javaservlet中文乱码,servlet解决中文乱码问题

    javaweb怎么处理中文乱码 获取 HTTP 请求中的中文参数时可能会有乱码,所以先将字符串变回字节数组,然后再按照 UTF-8 进行编码。 通过浏览器调用servlet,页面显示乱码。 采用相同的格式去接收(ISO-8859-1),然后用能解析的编码(utf-8)去转换。这样我们就能得到能兼容中文的格式了。这样处理之后发往前台。 读取文件的时候如果是用的…

    2024年5月22日
    3200
  • 发送到linux的ftp汉字乱码的简单介绍

    sftp上传中文文件名的文件,但是传到Linux上后,显示的名字却是乱码,哪位… 1、你是不是用的jsch.jar这个jar包,这个jar包中,文件名的编码方式是UTF-8的,Linux默认支持GBK的,所以终端改为utf-8的就可以显示中文了。 2、ftp服务目录下的文件出现乱码,多数是因为中文编码不统一导致的,多见于第三方的ftp服务软件,比…

    2024年5月22日
    3500
  • java上传zip乱码,java上传压缩包解压

    用JAVA发送邮件,正文乱码该如何解决 1、读取文件的时候如果是用的read方法(字节流),碰到中文输出就是乱码,然后存储的时候设置下编码为GBK或者是UTF-8形式即可,可以有效的解决乱码问题。 2、如果其他的项目中不存在乱码问题,只是个别项目显示时出现乱码,那么我们不需要设置工作空间的编码,只需要修改项目的编码即可。 选中项目后,右键点击,在弹出的菜单中…

    2024年5月21日
    4100
  • javafile重命名文件名,java实现文件重命名

    java文件下载改名 1、在eclipse里右键aa.java–refactor–rename输入bb.java,其他相关的变化都会一起改掉。或者你手动改,但要把public的类名改成和文件名一样,改了类名的话要注意别的类里实例化该类的名字也要变。 2、new File(源文件路径).renameTo(new File(另一文件路径)…

    2024年5月21日
    3800
  • java如何获取文件地址栏,java获取文件的文件名

    如何在java中获取当前项目的路径 1、getClass().getResource() 方法获得相对路径( 此方法在jar包中无效。 2、File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.getAbsolutePath()其…

    2024年5月21日
    3600
  • java控制台输入中文乱码,java控制台输入中文乱码怎么办

    Java安装后运行CMD输入JAVA提示乱码? 1、可在 CMD 窗口输入 chcp 65001 后,再尝试输入 java 命令。chcp 命令是用来显示或更改活动控制台的代码页。在 CMD 窗口直 输入 chcp ,可以显示当前代码页编号,默认是 936 ,表示支持 GB2312 编码。 2、(1)打开记事本,点击【另存为】,得到下图 (2)将编码的UTF…

    2024年5月20日
    5000

发表回复

登录后才能评论



关注微信