jxls 读写Excel

其实这个啊,也很简单,不过我花了两天的时间终于做出来了啊
现在说说jxls实现读Excel:
  首先导入jxls的两个jar包和poi的jar包,这个就不用我说在那里去下吧?
其次写后台bean,映射配置文件
<?xml version="1.0" encoding="UTF-8"?>
<workbook>
   <worksheet name="sheet1">
    <section startRow="0" endRow="0"/>
    <loop startRow="1" endRow="1" items="fixings"
    var="fixing"
varType="org.tml.Fixing">
    <section startRow="1" endRow="1">
    <mapping row="1" col="0">fixing.card</mapping>
    <mapping row="1" col="1">fixing.branch</mapping>
    <mapping row="1" col="2">fixing.purpose</mapping>
    <mapping row="1" col="3">fixing.name</mapping>
    <mapping row="1" col="4">fixing.model</mapping>
    <mapping row="1" col="5">fixing.station</mapping>
    <mapping row="1" col="6">fixing.serial</mapping>
    <mapping row="1" col="7">fixing.post</mapping>
    <mapping row="1" col="8">fixing.owner</mapping>
    <mapping row="1" col="9">fixing.created</mapping>
    <mapping row="1" col="10">fixing.vendor</mapping>
    <mapping row="1" col="11">fixing.notified</mapping>
    <mapping row="1" col="12">fixing.cardid</mapping>
    <mapping row="1" col="13">fixing.other</mapping>
   </section>
    <loopbreakcondition>
     <rowcheck offset="0">
        <cellcheck offset="0"></cellcheck>
      </rowcheck>
    </loopbreakcondition>
    </loop>
    </worksheet>
</workbook>

映射后,那就是后台实现类哦,这个就不用pojo类就不用写了啊,用Hibernate自动生成就可以了啊

然后写一个实现类,很简单哦。

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.jxls.reader.ReaderBuilder;
import net.sf.jxls.reader.ReaderConfig;
import net.sf.jxls.reader.XLSReader;
import org.tml.Fixing

public class ReaderExcel{
  public List findXls(String path){
   //path 要读的Excel的路径
   String xmlConfig="FixingExcel.xml"; //xml文件名
   try {
   //构建xml文件输入流
   InputStream inputXML = new BufferedInputStream(this.getClass()
   .getResourceAsStream(xmlConfig));
   //绑定xml文件
   XLSReader mainReader = ReaderBuilder.buildFromXML(inputXML);
   //构建文件输入流
   InputStream inputXLS = new FileInputStream(path);
   //通过低级流构建,高级流
   BufferedInputStream bis=new BufferedInputStream(inputXLS);
   Fixing fixing = new Fixing();
   List fixings = new ArrayList();
   Map beans = new HashMap();
   beans.put("fixing", fixing);
   beans.put("fixings", fixings);
   //通过XSLReader 的read方法,它会自动映射pojo类,得到数据集合
   mainReader.read(bis, beans);
   return fixings;
   } catch(Exception ex){
     ex.printStackTrace();
   }
     return null;
  }
}



你可能感兴趣的:(java,xml,.net,Hibernate,Excel)