/*try {*//*** 关键地方* 生成word格式*//*POIFSFileSystem poifs = new POIFSFileSystem();DirectoryEntry directory = poifs.getRoot();//将字节数组包装到流中ByteArrayInputStream bais = null;String content = "";// 标题String title = fafzbxMain.getName();for (int i = 0; i < fafzbxCatalogList.size(); i++) {content = content +  "<h"+ "标题级别" +">" + "标题" + "</h"+ "标题级别" +">" ;//富文本内容content = content + "内容";}//这里是必须要设置编码的,不然导出中文就会乱码。byte b[] = content.getBytes("GBK");//将字节数组包装到流中bais = new ByteArrayInputStream(b);directory.createDocument("WordDocument", bais);*//*** 方式一:创建文件并将流输出到文件中*//**//*String path = System.getProperty("user.dir");String filePath = path + "/" + title + ".docx";FileCopyUtils.copy(poifs.createDocumentInputStream("WordDocument"),new FileOutputStream(filePath));*//*//目錄
//            creat(filePath);*//*Document doc = new Document(filePath);doc.updateFields();// 更新域doc.save(filePath);*//**//*addHeaderFooter(doc);*//**//*** 方式二:直接输出流文件下载*//*request.setCharacterEncoding("utf-8");response.setContentType("application/msword");//导出word格式response.addHeader("Content-Disposition", "attachment;filename=" +new String(title.getBytes("GB2312"),"iso8859-1") + ".doc");ServletOutputStream ostream = response.getOutputStream();poifs.writeFilesystem(ostream);//            OutputStream out = response.getOutputStream();byte[] data = fileToBytes(filePath);//服务器存储地址
//            response.reset();
//            response.setHeader("Content-Disposition", "attachment; filename="+title+ ".docx"+";filename*=utf-8''"+ URLEncoder.encode(title+ ".docx","UTF-8"));
//            response.addHeader("Content-Length", ""+b.length);
//            response.setContentType("application/octet-stream;charset=UTF-8");
//            IOUtils.write(b, out);bais.close();*//*ostream.close();*//*poifs.close();//out.close();//删除文件 "\\"
//            DelFile.deleteFile(filePath);}catch(Exception e){e.printStackTrace();}*/
public static byte[] fileToBytes(String filePath) {byte[] buffer = null;File file = new File(filePath);FileInputStream fis = null;ByteArrayOutputStream bos = null;try {fis = new FileInputStream(file);bos = new ByteArrayOutputStream();byte[] b = new byte[1024];int n;while ((n = fis.read(b)) != -1) {bos.write(b, 0, n);}buffer = bos.toByteArray();} catch (FileNotFoundException ex) {ex.printStackTrace();} catch (IOException ex) {ex.printStackTrace();} finally {try {if (null != bos) {bos.close();}} catch (IOException ex) {ex.printStackTrace();} finally{try {if(null!=fis){fis.close();}} catch (IOException ex) {}}}return buffer;
}

//目錄

public void creat(String path){try {Document doc = new Document(path);addHeaderFooter(doc);DocumentBuilder builder =new DocumentBuilder(doc);doc.getFirstSection().getBody().prependChild(new Paragraph(doc));builder.moveToDocumentStart();//设置目录的格式//“目录”两个字居中显示、加粗、搜宋体builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);builder.setBold(true);builder.getFont().setName("宋体");builder.writeln("目录");//清清除所有样式设置builder.getParagraphFormat().clearFormatting();//目录居左builder.getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);//插入目录,这是固定的builder.insertTableOfContents("\\o \"1-3\" \\h \\z \\u");builder.insertBreak(BreakType.PAGE_BREAK);doc.updateFields();// 更新域doc.save(path);}catch (Exception e) {e.printStackTrace();}
}

弊端自动生成不了目录,加上生成目录就全是富文本格式数据;屏蔽creat方法,不去生成目录就可以导出富文本图文的word

不加目录时生成:

加目录时:

注意:只能wps打开word,不支持office

导出富文本格式word相关推荐

  1. 福昕PDF编辑器把PDF转换为富文本格式Word

    福昕PDF编辑器把PDF转换为富文本格式Word 今天主要是一个记录 我喜欢用latex写paper,但是有时候需要提交Word版本,所以我昨天刚想到我写大论文还是用latex写,暂时提交就把PDF转 ...

  2. java 富文本 word_Java导出富文本到word

    源码地址: 背景 最近用java开发一个中车项目管理系统,里面有一个维修单word导出功能. 可用方案 在网上查找资料,总结出两种比较可行的方案. (1) 制作word模板,导出成mht文件(单页面网 ...

  3. java freemarker 导出富文本到Word文档

    最近一直在加班 导致看到代码就想吐 今天抽出时间来记录一下 用freemaker导出富文本信息 之前使用freemaker导出图片等信息时 使用的是xml方式,不明白的 可以看 freemaker生成 ...

  4. Java 导出富文本到Word(包含图片)

    导入依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base< ...

  5. springboot导出富文本框数据到word

    这里需要注意的是:依赖的版本号都是一一对应的,如果使用不兼容的版本号,可能会报编译异常和缺少类的错误,这里已提供对应的所需依赖和版本号,大家可以参考一下. 具体的api文档可以参考官网api,很好理解 ...

  6. 【操作word】Java + POI导出富文本的内容到word文档

    这周工作中,遇到一个需求是需要将数据库中富文本内容导出到word文档里面,于是就采用POI技术实现了一下导出word文档的功能.(word文档是识别html内容的,所以富文本内容也自然能够识别.) 一 ...

  7. QT 编写Rtf(富文本格式) 文件实例

    QT 编写Rtf(富文本格式) 文件实例 2016-01-10 14:11:25 小K小Q 阅读数 3450更多 分类专栏: QT学习之路 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA ...

  8. java实现word导入导出富文本(含图片)-附完整测试用例

    主要有以下几点: 1.解决富文本导入导出依赖兼容问题 2.处理富文本和非富文本内容 3.解决webp格式通过java下载不了问题,如果要用到富文本导出,将来势必是会碰到的bug,这里提前给提出来并解决 ...

  9. 前端将后端返回的富文本格式字符串转换成word下载

    需要用到三个库 npm install html-docx-js -S npm install file-saver -S npm install dayjs -S 或 pnpm install ht ...

最新文章

  1. python自动化测试难不难_Python测试自动化好学还是Pythonweb开发好学?
  2. 一根烟上热搜,先让AI看看你的肺
  3. 互联网开发(一) 并发基础知识
  4. C++通过vmware.exe检测虚拟机
  5. 洛谷P1966 火柴排队(逆序对)
  6. MySQL日期数据类型、时间类型使用总结
  7. C/C++ 交换两个数,不使用第三个变量, 函数模板来实现
  8. java char 计算_经典Java面试题之Java中Char类型的运算
  9. RMI原理一记远程调用
  10. 打开 mhtml 文件 显示不全_3dmax打开时显示缺少外部文件的解决方法与步骤
  11. char转化为cstring_C语言100题集合001-将一个数字字符串转换为一个整数
  12. 摘要抽取算法——最大边界相关算法MMR(Maximal Marginal Relevance)
  13. 获赞36w,小红书近期的流行趋势是什么?
  14. 练习京东顶部导航条、背景、渐变、按钮练习(雪碧图)、渐变
  15. Laravel 5.8 前瞻
  16. NBA球员的选秀顺序和实际表现有多大差距?评估球员表现的VORP值又是怎么计算的?
  17. 苹果微信点开才会收到信息_安卓版微信黑暗模式来了!这次你会更新吗?附微信7.0.13安装包...
  18. 码牛学院安卓Android移动互联网高级开发正式课学习笔记
  19. 节假日api--java调用与获取数据
  20. 一起学 pixijs(1):常见图形的绘制

热门文章

  1. Breakpoint和Watchpoint的区别
  2. nisp和cisp证书有什么区别
  3. java的自省机制_JAVA内省(自省)机制 ( Introspector , BeanInfo, PropertyDescriptor )
  4. [BUGKU] [REVERSE] 逆向入门
  5. 聚焦物流4大场景,RPA如何降低物流企业运营成本
  6. Oracle OCP(05):转换函数
  7. 计算机桌面图标不可以移动怎么调,win10电脑桌面图标不能移动怎么办,win10桌面图标移动不了的解决方法...
  8. winscp中解压文件
  9. c语言字符统计2sdut,山东理工大学SDUT - ACM OJ 题: Python代码 及分析
  10. Java Web实战详细教程(十一)贯穿项目搭建+CSS修饰前端页面