根据html代码生成word文件

本文介绍了一个前端传CSS和HTML内容到后端,后端利用Java将HTML字符串转换为Word(doc)文件的过程。通过POI库初步实现转换,但在Android和iOS设备上遇到兼容性问题。为解决下载问题,最终选择将生成的doc文件存储在阿里云OSS,提供物理路径供前端下载,实现了在不同设备上兼容的下载方案。
摘要由CSDN通过智能技术生成

欢迎访问自建博客原文:
http://www.e-lionel.com/index.php/2019/02/28/102/

需求是前端传css和body过来,后端通过字符串拼接将数据拼成html的字符串,然后需要将这个html字符串转换为word的doc文件,并交由前端进行下载。下载方式为手机(通常是微信)扫描二维码,访问后台API或者是文件的物理路径实现下载。

首先尝试的是通过POI的方式,将html转成doc,然后返回给前端一个流,实现下载功能。

/**
	 * html转word
	 * @throws IOException 
	 */
	public static void htmlToDoc(String html,String fileName,HttpServletResponse response,HttpServletRequest request) throws IOException {
   
		byte b[] = html.getBytes("utf-8");  //这里是必须要设置编码的,不然导出中文就会乱码。
		ByteArrayInputStream bais = new ByteArrayInputStream(b);//将字节数组包装到流中  
		/*
		 * 关键地方
		 * 生成word格式
		 */
		POIFSFileSystem poifs = new POIFSFileSystem();  
		DirectoryEntry directory = poifs.getRoot();  
		DocumentEntry do
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值