本文共 2474 字,大约阅读时间需要 8 分钟。
首先上添加maven依赖:
org.jxls jxls-poi ${jxsl.poi.version} org.jxls jxls ${jxls.version} org.jxls jxls-reader 2.0.3
导入识别excel转实体的xml文件:
item.product69code item.productName item.brand item.subBrand item.series item.category item.specs item.standardPrice
Excel模板:
Xml文件的<worksheet name="产品列表"> 代表识别的表格名称
excel转实体类的代码:
package com.ismartgo.uqcode.common.excel;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.poi.openxml4j.exceptions.InvalidFormatException;import org.apache.poi.ss.formula.functions.T;import org.jxls.reader.ReaderBuilder;import org.jxls.reader.XLSReadStatus;import org.jxls.reader.XLSReader;import org.springframework.web.multipart.MultipartFile;import org.xml.sax.SAXException;import com.ismartgo.uqcode.model.UqcProduct;import com.sun.tools.extcheck.Main;public class Excel2Product { private final static String xmlConfig = "excelXml/productExcelConfig.xml"; public static Listexcel2List(InputStream inputStream) throws InvalidFormatException, IOException, SAXException { InputStream inputXML = new BufferedInputStream(Excel2Product.class.getClassLoader().getResourceAsStream(xmlConfig)); XLSReader mainReader = ReaderBuilder.buildFromXML(inputXML); InputStream inputXLS = new BufferedInputStream(inputStream); UqcProduct pro = new UqcProduct(); List pros = new ArrayList (); Map beans = new HashMap<>(); beans.put("item", pro); beans.put("items", pros); XLSReadStatus readStatus = mainReader.read(inputXLS, beans); return pros; } }
转载地址:http://apbai.baihongyu.com/