SAP UI5 Excel скачать из Ui5 table_GUID выпуск - PullRequest
0 голосов
/ 28 апреля 2020

хочу скачать sap.m. Данные таблицы в Excel, но Excel отображает GUID вместо значения. Для отображения таблицы я использовал onUpdatedFinished () и конвертировал GUID в TEXT, и то же самое я хочу достичь в EXCEL. Пожалуйста, предложите. Например, таблица в пользовательском интерфейсе отображается с именем клиента «AB C», как мы использовали «onUpdateFinished ()» и при загрузке в EXCEL, отображается как GUID «5e8361a0e9f8262658abbe41».

Просмотр кода:

<Table id="idTable1"
items="{
       path: '/StockItems',
         sorter: {
         path: 'Date',
         descending: 'true'
         }
       }"
mode="MultiSelect" growing="true"
  growingThreshold="20" updateFinished="onUpdateFinished">
<headerToolbar>
  <Toolbar>
    <Title id="idTitle" text="{i18n>allEntries}"></Title>
    <ToolbarSpacer/>
    <Button id="idDelete" icon="sap-icon://delete" press="onDelete"></Button>
            <Button id="idDownlaod" icon="sap-icon://download" press="onExportPdf"></Button>
  </Toolbar>
</headerToolbar>
    <columns>
        <Column>
            <Label text="Date"></Label>
  </Column>
        <Column>
    <Label text="Order Number" />
  </Column>
  <Column>
    <Label text="Material" />
  </Column>
  <Column>
    <Label text="Quantity"></Label>

  </Column>
  <Column>
    <Label text="Weight"></Label>
  </Column>
    <Column>
      <Label text="Created By"></Label>
    </Column>
    <Column>
      <Label text="Remarks"></Label>
    </Column>
  </columns>
  <items>
    <ColumnListItem>
      <cells>
      <Text text= "{
            path: 'Date',
            type: 'sap.ui.model.type.Date',
            formatOptions: {
                  style: 'medium',
                  pattern: 'dd.MM.yyyy'}}"></Text>

                <Text text="{OrderNo}"/>
      <Text text="{Material}"/>
      <Text text="{Qty}" />

      <Text text="{Weight}" />
                <Text text="{CreatedBy}"></Text>
                <Text text="{Remarks}" />
    </cells>
  </ColumnListItem>
</items>
</Table>`

Код контроллера:

onExportPdf:function(oEvent) {
       var oTab = this.getView().byId("idTable1");
        var oBinding = oTab.getBinding("items");
             var oExport = new Export({
             exportType : new ExportTypeCSV({
             separatorChar: "\t",
             mimeType: "application/vnd.ms-excel",
             charset: "utf-8"
             fileExtension: "xls"
            }),
           models : this.getView().getModel(),
           rows : {
             path : "/StockItems",
             filters: this.ZFilterr
          },
         columns : [
         {

          name : "Date",

          template : {

         content : "{Date}"

        }

        }, {

         name : "Order Number",

         template : {

         content : "{OrderNo}"

         }

        }, {

       name : "Material",

       template : {

       content : "{Material}"

       }

       }, {

      name : "Quantity",

      template: {

      content: "{Qty}"

      }

      }, {

      name: "Weight",

      template: {

      content: "{Weight}"

      }

      }, {

      name: "Created By",

      template: {

      content: "{CreatedBy}"

      }

      },
      {

      name: "Remarks",

      template: {

      content: "{Remarks}"

      }

      },

      ]
      });
      oExport.saveFile().always(function() {

      this.destroy();

      });

onUpdateFinsihed Метод

onUpdateFinished: function (oEvent) {
              debugger;
              var oTable = oEvent.getSource();
          var itemList = oTable.getItems();
          var noOfItems = itemList.length;

                var title = this.getView().getModel("i18n").getProperty("allEntries");
                this.getView().byId("idTitle").setText(title + " " + "(" + noOfItems + ")");

           for (var i=0; i < noOfItems; i++) {
             debugger;
             var materialId = oTable.getItems()[i].getCells()[2].getText();
             var orderId = oTable.getItems()[i].getCells()[1].getText();
             var custId= oTable.getItems()[i].getCells()[5].getText();
              var ohId=this.allMasterData.orderHeader[orderId];
              var ohIdW=this.allMasterData.wholeSaleHeader[orderId];
              var material = this.allMasterData.materials[materialId];
              var cName=this.allMasterData.users[custId];
              try {
                if(material){
                 oTable.getItems()[i].getCells()[2].setText(material.ProductCode);
                }
              } catch (e) {

              }
              try {
                if(ohId){
                oTable.getItems()[i].getCells()[1].setText(ohId.OrderNo);
              }
              } catch (e) {

              }
              try {
                if(ohIdW){
                oTable.getItems()[i].getCells()[1].setText(ohIdW.OrderNo);
              }
              } catch (e) {

              }
              try {
                if(cName){
                oTable.getItems()[i].getCells()[5].setText(cName.UserName);
              }
              } catch (e) {

              }
           }
        }
    });
});

enter code here
...