jxls导入excel

我们在开发中经常用jxls实现导出功能,殊不知jxls也有导入功能,下面来介绍下如何使用jxls导入excel。

首先在maven的pom中添加相关依赖,如下:

                 <dependency>
			<groupId>net.sf.jxls</groupId>
			<artifactId>jxls-core</artifactId>
			<version>1.0.6</version>
		</dependency>
		<dependency>
		    <groupId>net.sf.jxls</groupId>
		    <artifactId>jxls-reader</artifactId>
		    <version>1.0.6</version>
		</dependency>

然后需要配置导入模板(即字段映射关系),如下:

<?xml version="1.0" encoding="UTF-8"?>
<workbook>
	<worksheet name="新增局数据">
		<section startRow="1" endRow="2" />
		<loop startRow="3" endRow="3" items="tcs" var="tc" varType="com.aspire.train.bdc.demo.entity.TcPartner">
			<section startRow="3" endRow="3">
				<mapping row="3" col="0">tc.operType</mapping>
				<mapping row="3" col="1">tc.partnerId</mapping>
				<mapping row="3" col="2">tc.partnerName</mapping>
				<mapping row="3" col="3">tc.description</mapping>
				<mapping row="3" col="4">tc.validProvince</mapping>
				<mapping row="3" col="5">tc.validDate</mapping>
				<mapping row="3" col="6">tc.expireDate</mapping>
			</section>
			<loopbreakcondition>
				<rowcheck offset="0">
					<cellcheck offset="0"></cellcheck>
				</rowcheck>
			</loopbreakcondition>
		</loop>
	</worksheet>
</workbook> 

相关说明可以查看官网http://jxls.sourceforge.net/reference/reader.html

其次,是制作导入模板,如下:



 

下面是实现的java代码块,如下:

               String xmlConfig = ConfigurationHelper
				.getFullFileName("com/aspire/train/bdc/demo/template/TcPartner.xml");
		XLSReader mainReader;
		try {
			InputStream inputXML = new BufferedInputStream(new FileInputStream(xmlConfig));
			mainReader = ReaderBuilder.buildFromXML(inputXML);
			InputStream inputXLS = new BufferedInputStream(file.getInputStream());
			TcPartner tc = new TcPartner();
			List<TcPartner> tcs = new ArrayList<TcPartner>();
			Map<String,Object> beans = new HashMap<String,Object>();
			beans.put("tc", tc);
			beans.put("tcs", tcs);
			mainReader.read(inputXLS, beans);
			System.out.println(beans);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}

猜你喜欢

转载自lipengjavablog.iteye.com/blog/2328257