Есть ли в wso2 esb встроенные функции для извлечения данных из нескольких листов Excel? - PullRequest
1 голос
/ 11 июля 2019

Я хочу извлечь данные из нескольких листов файлов Excel, используя функциональность wso2 esb или wso2 dss.Просто я хочу сделать эту задачу с нативными компонентами wso2, но не с пользовательским классом-посредником.

Возможно ли это, значит, пожалуйста, кто-нибудь наставит меня с образцами или шагами?

1 Ответ

0 голосов
/ 11 июля 2019

Используя DSS, вы можете добавить файл Excel в качестве источника данных, а затем указать запрос, в котором вы указываете лист и столбцы для извлечения следующим образом.Существует пример запроса «json» и «xml», представленный как ресурс.Вы можете добавить конфиги для большего количества листов Excel или создать отдельные DataServices.

<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

...