<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Heck's  Blog]]></title> 
<link>https://www.heckjj.com/index.php</link> 
<description><![CDATA[一瞬间的决定，往往可以改变很多，事实上，让自己成功的往往不是知识，是精神！ 如果你总是为自己找借口，那只好让成功推迟。执行力，今天！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Heck's  Blog]]></copyright>
<item>
<link>https://www.heckjj.com/poi-export-excel-file/</link>
<title><![CDATA[利用poi输出Excel文件]]></title> 
<author>Heck &lt;@hecks.tk&gt;</author>
<category><![CDATA[编程杂谈]]></category>
<pubDate>Fri, 10 Sep 2010 01:59:31 +0000</pubDate> 
<guid>https://www.heckjj.com/poi-export-excel-file/</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 微软雅黑;">利用poi输出Excel文件是java应用导出excel文件最常用的方法，下面我做了一个简单的应用例子，包括单个sheet的excel文件和多个sheet的excel文件生成。<br/>1，&nbsp;&nbsp;首先第一步需要导入下载的java包，据我实际测试，需要加入如下几个jar包到类路径下即可：jxl.jar,jxls-core-0.9.1.jar,poi-2.5.1-final-20040804.jar, poi-contrib-2.5.1-final-20040804.jar, poi-scratchpad-2.5.1-final-20040804.jar, commons-logging-1.1.jar, commons-jexl-1.1.jar,如图所示：</span><br/><a href="https://www.heckjj.com/attachment.php?fid=38" target="_blank"><img src="https://www.heckjj.com/attachment.php?fid=38" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><span style="font-family: 微软雅黑;">2，&nbsp;&nbsp;做实体对象类: OdEntity</span><textarea name="code" class="java" rows="15" cols="100">
public class OdEntity &#123;
&nbsp;&nbsp;private String pmId;
&nbsp;&nbsp;private String pmName;
&nbsp;&nbsp;public String getPmId() &#123;
&nbsp;&nbsp;&nbsp;&nbsp;return pmId;
&nbsp;&nbsp;&#125;
&nbsp;&nbsp;public void setPmId(String pmId) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;this.pmId = pmId;
&nbsp;&nbsp;&#125;
&nbsp;&nbsp;public String getPmName() &#123;
&nbsp;&nbsp;&nbsp;&nbsp;return pmName;
&nbsp;&nbsp;&#125;
&nbsp;&nbsp;public void setPmName(String pmName) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;this.pmName = pmName;
&nbsp;&nbsp;&#125;
&nbsp;&nbsp;
&#125;</textarea><br/><span style="font-family: 微软雅黑;">3，&nbsp;&nbsp;做模板文件export_template.xls,如图所示</span><br/><a href="https://www.heckjj.com/attachment.php?fid=39" target="_blank"><img src="https://www.heckjj.com/attachment.php?fid=39" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><span style="font-family: 微软雅黑;">4，&nbsp;&nbsp;实现代码:</span><textarea name="code" class="java" rows="15" cols="100">
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import axisoft.entity.OdEntity;
import net.sf.jxls.exception.ParsePropertyException;
import net.sf.jxls.transformer.XLSTransformer;

public class TestExport &#123;

&nbsp;&nbsp;/**
&nbsp;&nbsp; * @param args
&nbsp;&nbsp; */
&nbsp;&nbsp;public static void main(String[] args) &#123;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //TestExport.multiSheet();
&nbsp;&nbsp;&nbsp;&nbsp; TestExport.singleSheet();
&nbsp;&nbsp;&#125;
&nbsp;&nbsp;/**
&nbsp;&nbsp; * single-Sheet
&nbsp;&nbsp; *
&nbsp;&nbsp; */
&nbsp;&nbsp;public static void singleSheet()&#123;
&nbsp;&nbsp;&nbsp;&nbsp;XLSTransformer transformer = new XLSTransformer();
&nbsp;&nbsp;&nbsp;&nbsp;String xlsTemplateFileName = "export_template.xls";

&nbsp;&nbsp;&nbsp;&nbsp;String xlsFileName = "output.xls";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map<String, ArrayList<OdEntity>> beans = new HashMap<String, ArrayList<OdEntity>>();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList<OdEntity> list = new ArrayList();
&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OdEntity ent=new OdEntity();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent.setPmId("aaaaa");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent.setPmName("AAAAA");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(ent);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OdEntity ent1=new OdEntity();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent1.setPmId("bbbbb");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent1.setPmName("BBBBB");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(ent1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beans.put("od",list);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transformer.transformXLS(xlsTemplateFileName , beans, xlsFileName);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&#125; catch (ParsePropertyException e) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();
&nbsp;&nbsp;&nbsp;&nbsp;&#125; catch (IOException e) &#123;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&#125;
&nbsp;&nbsp;/**
&nbsp;&nbsp; * multi-Sheets
&nbsp;&nbsp; *
&nbsp;&nbsp; */
&nbsp;&nbsp;public static void multiSheet()&#123;
&nbsp;&nbsp;&nbsp;&nbsp;XLSTransformer transformer = new XLSTransformer();
&nbsp;&nbsp;&nbsp;&nbsp;String xlsTemplateFileName = "export_template.xls";

&nbsp;&nbsp;&nbsp;&nbsp;String xlsFileName = "output.xls";

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList<ArrayList<OdEntity>> obj = new ArrayList();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList<OdEntity> list = new ArrayList();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OdEntity ent=new OdEntity();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent.setPmId("aaaaa");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent.setPmName("AAAAA");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(ent);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OdEntity ent1=new OdEntity();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent1.setPmId("bbbbb");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent1.setPmName("BBBBB");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(ent1);

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj.add(list);

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OdEntity ent2=new OdEntity();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList<OdEntity> list1 = new ArrayList();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent2.setPmId("ccccc");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent2.setPmName("CCCCC");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list1.add(ent2);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OdEntity ent3=new OdEntity();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent3.setPmId("ddddd");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent3.setPmName("DDDDD");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list1.add(ent3);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj.add(list1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList<String> nameList = new ArrayList();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nameList.add("A-B");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nameList.add("C-D");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try &#123;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream xlsTemplateIO = new FileInputStream(xlsTemplateFileName);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HSSFWorkbook wb=transformer.transformMultipleSheetsList(xlsTemplateIO, obj, nameList, "od", new HashMap(), 0);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream os = new BufferedOutputStream(new FileOutputStream(xlsFileName));&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wb.write(os);&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.flush();&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.close();&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&#125; catch (ParsePropertyException e) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();
&nbsp;&nbsp;&nbsp;&nbsp;&#125; catch (IOException e) &#123;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&#125;
&#125;</textarea><br/>Tags - <a href="https://www.heckjj.com/tags/poi%25E8%25BE%2593%25E5%2587%25BAexcel%25E6%2596%2587%25E4%25BB%25B6/" rel="tag">poi输出excel文件</a> , <a href="https://www.heckjj.com/tags/%25E5%25AF%25BC%25E5%2587%25BAexcel/" rel="tag">导出excel</a>
]]>
</description>
</item><item>
<link>https://www.heckjj.com/poi-export-excel-file/#blogcomment</link>
<title><![CDATA[[评论] 利用poi输出Excel文件]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://www.heckjj.com/poi-export-excel-file/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>