zl程序教程

您现在的位置是:首页 >  工具

当前栏目

XLSTransformer生成excel文件详解编程语言

Excel文件编程语言 详解 生成 XLSTransformer
2023-06-13 09:20:41 时间

jxls的使用方法:

1)声明一个XLSTransformer对象,生成方式就是使用new操作符
  XLSTransformer transformer = new XLSTransformer();

2)得到Template的FIle:
  String xlsTemplateFileName = this.getClass().getClassLoader().getResource( template.xls );

3)利用XLSTransformer的类的方法生成Excel文件
    String xlsFileName = D: +File.separator+ resule.xls
      Map map= new HashMap();
  map .put( news1 , news1 );
  map .put( news2 , news2 );
      transformer.transformXLS(xlsTemplateFileName , map, xlsFileName);

      XLSTransformer类的transformXLS方法的定义如下:
      public void transformXLS(String srcFilePath, Map  map , String destFilePath) throws ParsePropertyException,

      IOException其中:srcFilePath:是Template文件的全文件名(包含路径)
  map :需要传入Excel里面的一个Map,jxls根据Template里面的定义和Map里面的对象对Template进行解析,

  将Map里面的对象值填入到Excel文件中
    destFilePath:需要生成的Excel文件的全文件名(包含路径)

Struts.xml配置

 action name="reportTest" method="reportTest" 

 result type="stream" 

 param name="contentType" application/octet-stream /param 

 param name="inputName" inputStream /param 

 param name="contentDisposition" attachment;filename="reportTest.xls" /param 

 param name="bufferSize" 4096 /param 

 /result 

 /action 

java代码

public class T { 

 private InputStream inputStream; 

 public String reportTest() { 

 try { 

 List Map String, Object list = new ArrayList Map String, Object (); 

 Map String, Object m1 = new HashMap String,Object 

 m1.put("PRONAME", "项目1"); 

 m1.put("PLANTYPE", "计划1"); 

 m1.put("PROTYPE", "类别1"); 

 Map String, Object m2 = new HashMap String,Object 

 m2.put("PRONAME", "项目2"); 

 m2.put("PLANTYPE", "计划2"); 

 m2.put("PROTYPE", "类别2"); 

 list.add(m1); 

 list.add(m2); 

 //------------------------开始报表 

 Map String, Object para = new HashMap String, Object 

 para.put("result", list); 

 XLSTransformer transformer = new XLSTransformer(); 

 Workbook wb; 

 try { 

 //模板路径 

 String classPath = this.getClass().getClassLoader().getResource("report/resource/reportTest.xls").getPath(); 

 //真实导出路径 

 String classPath2 = this.getClass().getClassLoader().getResource("report/temp/reportTest.xls").getPath(); 

 transformer.transformXLS(classPath, para,classPath2); //在classPath2下生成excel文件 

 inputStream = new FileInputStream(new File(classPath2)); 

 wb = transformer.transformXLS(new FileInputStream(classPath),para); //获得Workbook对象 

 wb.write(new FileOutputStream(classPath2)); //导出Excel 

 } catch (Exception e) { 

 throw new ReportException(e); 

 } catch (Exception e) { 

 e.printStackTrace(); 

 return "success"; 

 public InputStream getInputStream() { 

 return inputStream; 

 public void setInputStream(InputStream inputStream) { 

 this.inputStream = inputStream; 

}

reportTest.xls文件格式

XLSTransformer生成excel文件详解编程语言

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/14257.html

cjavaxml