wso2 esb中是否有任何本机功能可用于从多个Excel文件表中获取数据?

时间:2019-07-11 04:52:07

标签: wso2 wso2esb wso2dss wso2ei

我想使用wso2 esb或wso2 dss功能从多张excel文件中提取数据。我只是想用wso2的本机组件来完成这些任务,而不是使用自定义类介体来完成。

有可能意味着请有人指导我提供一些示例或步骤吗?

1 个答案:

答案 0 :(得分:0)

使用DSS,您可以将excel文件添加为数据源,然后指定一个查询,在该查询中您可以告诉该工作表和要检索的列,如下所示。有一个作为资源公开的json和xml示例“查询”。您可以为更多的Excel工作表添加配置,也可以创建单独的DataService。

<data name="excel-ds" transports="http https">
    <config id="SAMPLE">
        <property name="excel_datasource">/file/path/sample.xlsx</property>
    </config>
    <query id="GET_JSON" useConfig="SAMPLE">
        <excel>
            <workbookname>sampledata</workbookname>
            <hasheader>true</hasheader>
            <startingrow>2</startingrow>
            <maxrowcount>-1</maxrowcount>
        </excel>
        <result outputType="json">{
      "Rows": {
         "Row": [
          {
          "EMPnr": "$EMPnr",
          "Name": "$name",
          "Email": "$email"
          }
        ]
      }
      }</result>
    </query>

    <query id="GET_XML" useConfig="SAMPLE">
        <excel>
            <workbookname>samplesheet</workbookname>
            <hasheader>true</hasheader>
            <startingrow>2</startingrow>
            <maxrowcount>-1</maxrowcount>
        </excel>
        <result element="Rows" rowName="Row">
            <element column="empnr" name="Empnr" xsdType="string"/>
            <element column="name" name="Name" xsdType="string"/>
            <element column="email" name="Email" xsdType="string"/>
        </result>
    </query>

    <resource method="GET" path="samplejson">
        <call-query href="GET_JSON"/>
    </resource>
    <resource method="GET" path="samplexml">
        <call-query href="GET_XML"/>
    </resource>
</data>

有关文档,请检查wso2.com