XLSTransformer生成excel文件简单示例

发布时间:2025-12-09 14:01:38 浏览次数:4

项目结构图:

项目中所用到的jar,可以到http://www.findjar.com/index.x下载

ExcelUtil类源码:

[java]
view plain
copy

  1. packageutil;
  2. importjava.io.IOException;
  3. importjava.net.URL;
  4. importjava.util.HashMap;
  5. importjava.util.List;
  6. importjava.util.Map;
  7. importnet.sf.jxls.exception.ParsePropertyException;
  8. importnet.sf.jxls.transformer.XLSTransformer;
  9. /**
  10. *Excel生成类.
  11. */
  12. publicclassExcelUtil{
  13. /**
  14. *根据模板生成Excel文件.
  15. *@paramtemplateFileName模板文件.
  16. *@paramlist模板中存放的数据.
  17. *@paramresultFileName生成的文件.
  18. */
  19. publicvoidcreateExcel(StringtemplateFileName,List<?>list,StringresultFileName){
  20. //创建XLSTransformer对象
  21. XLSTransformertransformer=newXLSTransformer();
  22. //获取java项目编译后根路径
  23. URLurl=this.getClass().getClassLoader().getResource(“”);
  24. //得到模板文件路径
  25. StringsrcFilePath=url.getPath()+templateFileName;
  26. Map<String,Object>beanParams=newHashMap<String,Object>();
  27. beanParams.put(“list”,list);
  28. StringdestFilePath=url.getPath()+resultFileName;
  29. try{
  30. //生成Excel文件
  31. transformer.transformXLS(srcFilePath,beanParams,destFilePath);
  32. }catch(ParsePropertyExceptione){
  33. e.printStackTrace();
  34. }catch(IOExceptione){
  35. e.printStackTrace();
  36. }
  37. }
  38. }

Test类源码:

[java]
view plain
copy

  1. packagetest;
  2. importjava.util.ArrayList;
  3. importjava.util.List;
  4. importpo.Fruit;
  5. importutil.ExcelUtil;
  6. /**
  7. *测试类.
  8. */
  9. publicclassTest{
  10. publicstaticvoidmain(String[]args){
  11. List<Fruit>list=newArrayList<Fruit>();
  12. list.add(newFruit(“苹果”,2.01f));
  13. list.add(newFruit(“桔子”,2.05f));
  14. StringtemplateFileName=“template/template.xls”;
  15. StringresultFileName=“result/fruit.xls”;
  16. newExcelUtil().createExcel(templateFileName,list,resultFileName);
  17. }
  18. }

template.xls模板文件截图:

注意:如果你是用的office 2007生成的excel模板,要另存为97-2003版本的。

Fruit类源码:

[java]
view plain
copy

  1. packagepo;
  2. /**
  3. *水果.
  4. */
  5. publicclassFruit{
  6. /**
  7. *水果名称.
  8. */
  9. privateStringname;
  10. /**
  11. *水果价格.
  12. */
  13. privatefloatprice;
  14. publicFruit(){
  15. super();
  16. }
  17. publicFruit(Stringname,floatprice){
  18. super();
  19. this.name=name;
  20. this.price=price;
  21. }
  22. publicStringgetName(){
  23. returnname;
  24. }
  25. publicvoidsetName(Stringname){
  26. this.name=name;
  27. }
  28. publicfloatgetPrice(){
  29. returnprice;
  30. }
  31. publicvoidsetPrice(floatprice){
  32. this.price=price;
  33. }
  34. }

生成fruit.xls文件截图:

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477