簡體   English   中英

Jxls:Transformer為空

[英]Jxls: Transformer is null

我正在使用Jxls將數據寫入excel文件。

為此,我有一個xls模板R.raw.object_collection_xmlbuilder_template_products_list*/res>raw文件夾中,而xml構建器文件R.xml.excel_template_products_list*/res>xml文件夾中。

try (InputStream is = mContext.getResources().openRawResource(R.raw.object_collection_xmlbuilder_template_products_list)) {
                try (OutputStream os = new FileOutputStream(excel_file)) {
                    Transformer transformer = TransformerFactory.createTransformer(is, os);

                    try (InputStream configInputStream = mContext.getResources().openRawResource(+R.xml.excel_template_products_list)) {

                        AreaBuilder areaBuilder = new XmlAreaBuilder(configInputStream, transformer);
                        List<Area> xlsAreaList = areaBuilder.build();
                        Area xlsArea = xlsAreaList.get(0);

                        org.jxls.common.Context context = new org.jxls.common.Context();
                        context.putVar("products", hashmap_list);

                        xlsArea.applyAt(new CellRef("Result!A1"), context);
                        transformer.write();
                    }
                }
            } catch (Exception ex) {
                    aLog.error(ex);
        }

但是Transformer Object返回的是null。 對於行List<Area> xlsAreaList = areaBuilder.build(); ,它拋出:

Method threw 'java.lang.NoClassDefFoundError'
exception.org.jxls.builder.xml.AreaAction

這些是我添加的jar文件:

'libs/jxls-2.4.0.jar'
'libs/jxls-poi-1.0.12.jar'
'libs/slf4j.api-1.6.1.jar'

一種解決方案建議我添加maven依賴項,如下所示:

maven {
        url "https://repo1.maven.org/maven2/"
    }

但是我還是例外。

所以,任何想法為什么轉換器可能為null以及如何解決該異常? 謝謝。

編輯:這是xml內容:

<?xml version="1.0" encoding="utf-8"?>
<xls>
    <area ref="Template!A1:T31">
        <each items="products" var="products" ref="Template!A4:T31">
            <area ref="Template!A4:T31"/>
        </each>
    </area>
</xls>

這是xls模板: 在此處輸入圖片說明

檢查jxls-demo項目存儲庫,以了解如何為Maven項目配置Jxls依賴項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM