java将excel文件转为html实现在线预览
该功能是用poi实现的转换,所以需要下载相对应的jar包
jar包链接:https://pan.baidu.com/s/1WrWEzX9BO5iX4r-rMna-4g 提取码:x7iq
如果需要下载更高版本: https://mvnrepository.com/ 此为mvn仓库地址
excel常用有两种格式,一种是xls,一种是xlsx格式
注意: 我做的项目因为在数据库存的是相对路径,转换后的html也放在这个路径之下,所以这个方法有四个参数,如果你存的是绝对路径,name只需要两个参数,后面的last和typeLength不需要
1、是xls格式转html
导包的路径
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.UUID;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.converter.ExcelToHtmlConverter;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.usermodel.Picture;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.w3c.dom.Document;
然后我们先创建一个xls文件
然后我们写后端代码
/**
* excel文件 xls格式转为html
*
* @param rootPath
* 项目的路径
* @param fileUrl
* 数据库存放文件的相对路径 (例:/file/aa.doc)
* @param last
* 获取fileUrl的长度
* @param typeLength
* 文件类型的长度
* @return 返回html的路径
*/
public static String xlsToHtml(String rootPath, String fileUrl, int last, int typeLength) throws IOException {
InputStream input = null;
// poi用于转换excel为html
ExcelToHtmlConverter excelToHtmlConverter = null;
try {
input = new FileInputStream(rootPath + fileUrl);
} catch (FileNotFoundException e1) {