开源jxls - java导Excel(多sheet) - 模板文件定义类似jsp的el表达式
2013-01-30 10:49
459 查看
想不想像写jsp一样的去定义一个excel模板,然后再像用jstl和el表达式那样往excel模板里面传入变量,现在用jxls全部可以轻松搞定了,核心代码非常简单。
下面来看看excel模板是怎么定义的。
是不是和jsp里面的jstl很像。
下面是这个测试例子的完整代码:
//调用引擎生成excel报表 XLSTransformer transformer = new XLSTransformer(); Workbook workbook = transformer.transformMultipleSheetsList(is, objects, listSheetNames, "list", new HashMap(), 0); workbook.write(new FileOutputStream("c:\\xlsExportUtils.xls"));
下面来看看excel模板是怎么定义的。
是不是和jsp里面的jstl很像。
下面是这个测试例子的完整代码:
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.jxls.exception.ParsePropertyException; import net.sf.jxls.transformer.XLSTransformer; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.ss.usermodel.Workbook; /** * @author 鲁炬 * */ public class XlsExportUtil { public static void createExcel() throws ParsePropertyException, InvalidFormatException, IOException {} @SuppressWarnings("rawtypes") public static void main(String[] args) throws ParsePropertyException, InvalidFormatException, IOException { //获取Excel模板文件 String fileDir = XlsExportUtil.class.getResource("").getFile(); String filePath = fileDir + "XlsExportUtilTemplate.xls"; System.out.println("excel template file:" + filePath); FileInputStream is = new FileInputStream(filePath); //创建测试数据 Map<String, Object> map = new HashMap<String, Object>(); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map1 = new HashMap<String, Object>(); map1.put("name", "电视"); map1.put("price", "3000"); map1.put("desc", "3D电视机"); map1.put("备注", "中文测试"); Map<String, Object> map2 = new HashMap<String, Object>(); map2.put("name", "空调"); map2.put("price", "2000"); map2.put("desc", "变频空调"); map1.put("备注", "测试中文"); list.add(map1); list.add(map2); map.put("list", list); ArrayList<List> objects = new ArrayList<List>(); objects.add(list); objects.add(list); objects.add(list); objects.add(list); //sheet的名称 List<String> listSheetNames = new ArrayList<String>(); listSheetNames.add("1"); listSheetNames.add("2"); listSheetNames.add("3"); listSheetNames.add("4"); //调用引擎生成excel报表 XLSTransformer transformer = new XLSTransformer(); Workbook workbook = transformer.transformMultipleSheetsList(is, objects, listSheetNames, "list", new HashMap(), 0); workbook.write(new FileOutputStream("c:\\xlsExportUtils.xls")); } }
相关文章推荐
- 开源jxls - java导Excel(多sheet) - 模板文件定义类似jsp的el表达式
- 开源jxls - java导Excel(多sheet) - 模板文件定义类似jsp的el表达式
- java使用 freemarker 模板生成一个excel文件多个sheet
- java 生成excel利器!基于jxls2写的jxls增强版jxlss。使用excel模板生成excel文件
- jsp下载 java BufferedInputStream 读取excel文件 这样就不出...
- java 实现 excel sheet 拷贝到另一个Excel文件中 poi
- 在Java中导出word、excel格式文件时JSP页面头的设置
- JXLS模板导出多个sheet文件
- java操作excel之jxls导出excel模板数据
- Java下载模板文件(Excel demo)
- JAVA利用POI导出Excel模板文件
- java poi 通过excel模板导出并且生成多个sheet
- jxls 使用模板文件导出生成excel
- jsp里使用java excel api实现文件下载
- java写excel文件,报Warning: MS Office Drawing on sheet "Sample" not supported - omitting
- 利用java的开源组件JExcel创建无差异的Excel文件,并且导入到.net项目中去.
- java导入Excel包含多张sheet表的.xls .xslx .txt三种后缀格式的文件
- java poi 通过excel模板导出并且生成多个sheet
- JSP Tag实现定义 java文件
- ckfinder的类似项目,开源版在线文件管理kcfinder的java整合