Java的Excel报表开源工具

http://jdkcn.com/entry/opensource-software-jxls.html
报表要求生成固定格式的excel 文件。当然就想到用apache poi了。

http://poi.apache.org/

不过你得一个先生成一个workbook,然后create一个sheet,再添加一个row,最后再添加cell,然后你就可以往cell里写数据了。代码那个多啊。真是丑得没法看。
后来找到这个jxls项目。

http://jxls.sourceforge.net/

真不错。其实jxls就是类似Freemarker的模板引擎。你只要提供一个.xls的模板(template),模板里写一些标签。然后把数据放到Map里让jxls填充一下就ok了。这样就根本不用poi的api去调xls的样式颜色啊。这个都是太麻烦了。
    @Test
    public void testTemplate() throws Exception {
        List<CsvOrder> orders = new ArrayList<CsvOrder>();
        CsvOrder order = new CsvOrder();
        order.setDate("2008年8月28日");
        order.setIncome(new BigDecimal(2000));
        order.setTradeNo("200808280118");
        order.setTrader("德比软件");
        orders.add(order);
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("orders", orders);
        XLSTransformer transformer = new XLSTransformer();
        transformer.transformXLS("src/test/resources/template.xls", map, "/home/rory/Desktop/workbook.xls");
    }

你可能感兴趣的:(java,apache,freemarker,Excel,OpenSource)