如何将多个内部表数据下载到一个Excel中的多个工作表中。

2020-08-27 00:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)此处已下载excel,但在exc...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


此处已下载excel,但在excel中我没有值。

 包括ole2incl。

   类型:ty_bseg1的开始,

           belnr TYPE belnr_d,

           gjahr TYPE bseg-gjahr,

           lifnr TYPE bseg-lifnr,

           wrbtr TYPE wrbtr,

           hkont TYPE bseg-hkont,

         结束于ty_bseg1。

   类型:ty_t012k1的开始,

           hbkid TYPE t012k-hbkid,

           hktid TYPE t012k-hktid,

           bankn TYPE t012k-bankn,

         结束于ty_t012k1。

   类型:ty_lfbk1的开始,

           银行类型lfbk-banks,

           银行类型lfbk-bankl,

           bankl1 TYPE lfbk-bankl,

           bankn2 TYPE t012k-bankn,

           bvtyp TYPE lfbk-bvtyp,

           KOINH TYPE LFBK-KOINH,

           v_blank TYPE char20,



         ty_lfbk1结束。

   TYPES:开始于ty_temp,

           wrbtr(12)C型,

           bankn1 TYPE t012k-bankn,

           银行类型lfbk-bankl,

           bankn2 TYPE t012k-bankn,

           v_blank TYPE char20,

           KOINH TYPE LFBK-KOINH,

           bankl1 TYPE lfbk-bankl,

           info1 TYPE char30,

           info2 TYPE char30,

           v_con(70)TYPE C,

         结束时间ty_temp。



   TYPES:开始于ty_temp1,

           银行类型lfbk-bankl,

           bankn2 TYPE t012k-bankn,

           KOINH TYPE LFBK-KOINH,

           wrbtr TYPE wrbtr,

         结束于ty_temp1。



   类型:ty_print的开始,

           wrbtr TYPE wrbtr,

           bankn1 TYPE t012k-bankn,

           银行类型lfbk-bankl,

           bankn2 TYPE t012k-bankn,

           v_blank TYPE char20,

           KOINH TYPE LFBK-KOINH,

           bankl1 TYPE lfbk-bankl,

           info1 TYPE char30,

           info2 TYPE char30,

           v_con(100)TYPE C,

         ty_print的结尾。



   TYPE:BEGIN OF ty_print1,

           银行类型lfbk-bankl,

           bankn2 TYPE t012k-bankn,

           KOINH TYPE LFBK-KOINH,

           wrbtr TYPE wrbtr,

         ty_print1结束。



 类型:Itab的开始,

           wrbtr TYPE wrbtr,

           bankn1 TYPE t012k-bankn,

           银行类型lfbk-bankl,

           bankn2 TYPE t012k-bankn,

           v_blank TYPE char20,

           KOINH TYPE LFBK-KOINH,

           bankl1 TYPE lfbk-bankl,

           info1 TYPE char30,

           info2 TYPE char30,

           v_con(100)TYPE C,

         Itab的结尾。



   数据:应用程序类型ole2_object,

         工作簿类型ole2_object,

         工作表TYPE ole2_object,

         单元格类型ole2_object。



   常量:row_max TYPE i VALUE 256。

    数据:v_col类型i。

   数据索引类型i。

   数据:ty_temp1初始大小1的it_temp1类型标准表,

          wa_temp1类型ty_temp1。

   数据:ty_print1初始大小1的it_print1类型标准表,

          wa_print1类型ty_temp1。



   数据:ty_temp初始大小为1的it_temp类型标准表,

          wa_temp TYPE ty_temp。

   数据:ty_temp初始大小为1的it_print类型标准表,

          wa_print TYPE ty_temp。

    数据:使用HEADER LINE的it_get LINE_TYPE TYPE TABLE。

   数据:v_con(100)类型c。

 选择包

           贝恩

           杰尔

           布泽

           科阿特

           k

           dmbtr

           wrbtr

           萨克纳

           赫康特

           nn

           lifnr

           bvtyp

           从bseg到表it_bseg的nebtr

     s_belnr中的belnr和s_gjahr中的gjahr。

   如果it_bseg不是INITIAL。

     选择包

         hbkid

         hktid

         班恩

         从t012k到表it_t012k中的hkont,用于it_bseg中的所有条目

       在哪里hkont = it_bseg-hkont。

   万一。

   如果it_bseg不是INITIAL。

     从lfbk中选择lifnr银行bankl bankn bvtyp koinh到表it_lfbk

       对于it_bseg中所有条目,lifnr = it_bseg-lifnr。

     如果sy-subrc <> 0。

       MESSAGE"找不到数据"类型" I"。

     万一。

   万一。

   删除it_bseg,其中lifnr处于初始状态。

   循环到it_bseg INTO wa_bseg。

     wa_temp-wrbtr = wa_bseg-wrbtr。

     wa_temp1-wrbtr = wa_bseg-wrbtr。

     使用键hkont = wa_bseg-hkont二进制搜索将表it_t012k读入wa_t012k。

     wa_temp-bankn1 = wa_t012k-bankn。

     使用键lifnr = wa_bseg-lifnr二进制搜索将表it_lfbk读入wa_lfbk。

     wa_temp-bankl = wa_lfbk-bankl。

     wa_temp1-bankl = wa_lfbk-bankl。

     wa_temp-bankl1 + 0(4)= wa_lfbk-bankl。

     wa_temp-bankn2 = wa_lfbk-bankn。

     wa_temp1-bankn2 = wa_lfbk-bankn。

     wa_temp-v_blank = wa_temp-v_blank。

     wa_temp-koinh = wa_lfbk-koinh。

     wa_temp1-koinh = wa_lfbk-koinh。

     wa_temp-info1 ='来自3F Industries Ltd.的Ac付款"。

     wa_temp-info2 ='3F Industries Limited'。

     链接wa_temp-wrbtr wa_temp-bankn1 wa_temp-bankl wa_temp-bankl1 wa_temp-bankn2 wa_temp-v_blank

                 wa_temp-koinh wa_temp-info1 wa_temp-info2 INTO v_con由"-"分隔。

     wa_temp-v_con = v_con。

   结局。

   将wa_temp附加到it_print。

   将wa_temp1附加到it_print1。



 创建对象应用程序" excel.application"。

   设置应用程序"可见"的属性= 1。

   应用程序"工作簿"的调用方法=工作簿。

   工作簿"添加"的调用方法。

   申请方法"工作表" =工作表

                                导出#1 = 1。

   表格"激活"的呼叫方法。

   设置工作表的属性"名称" =" Sheet1"。

   清除v_col。

   将it_print循环到wa_print中。

      v_col = 1。

       使用v_col 1 wa_print-wrbtr执行fill_cell。

       使用v_col 2 wa_print-bankn1执行fill_cell。

       使用v_col 3 wa_print-bankn2执行fill_cell。

       使用v_col 4 wa_print-v_blank执行fill_cell。

       使用v_col 5 wa_print-koinh执行fill_cell。

        使用v_col 6 wa_print-bankl1执行fill_cell。

         使用v_col 7 wa_print-info1执行fill_cell。

         使用v_col 8 wa_print-info2执行fill_cell。

         使用v_col 8 wa_print-v_con执行fill_cell。
   结局。

   工作表"另存为"的调用方法

                   导出#1 ='c:\ temp \ excelgeet.xls'"文件名

                             #2 =1。" fileFormat

  设置应用程序"可见"的属性= 0。

  设置应用程序" DisplayAlerts"的属性= 0。

    免费的对象应用程序。


 使用行列val形成fill_cell。

    数据:应用程序类型ole2_object,

         工作簿类型ole2_object,

         工作表TYPE ole2_object,

         单元格类型ole2_object。



     表格"单元格"的调用方法=单元格导出#1 =行#9 =列。

     设置单元格的属性"值" = val。

    最终形式。



 
7条回答
N-Moskvin
2020-08-27 01:25

您好 SHUBhAM TAKLIKAR

您的工作表似乎有问题

在相应位置尝试以下代码。

 DATA:go_excel TYPE ole2_object,
 lo_mapl TYPE ole2_object,
 lo_map TYPE ole2_object,
 lo_worksheet TYPE ole2_object。

   创建对象go_excel'EXCEL.APPLICATION'。
   go_excel"工作簿"的调用方法= lo_mapl。
   设置go_excel的"可见"属性= 1。
   lo_mapl的调用方法"添加" = lo_map。
   获得go_excel'ACTIVESHEET'= lo_worksheet的属性。
   lo_worksheet的SET属性"名称" =" Sheet1"。
 ******************************************************  **************************************
 表格"单元格"的调用方法=单元格导出#1 =行#9 =列。  <-错误#9
 表格"单元格"的调用方法=单元格导出#1 =行#2 =列。  <-使用#2
 

一周热门 更多>