Upload Data from Excel File in ABAP using TEXT_CONVERT_XLS_TO_SAP
2012-10-30 11:17
1771 查看
Upload Data from Excel File in ABAP using TEXT_CONVERT_XLS_TO_SAP
In this ABAP tutorial, ABAP developers can find code that shows how toupload data from Excel file to ABAP internal tables using
TEXT_CONVERT_XLS_TO_SAP function call.
ABAP function module TEXT_CONVERT_XLS_TO_SAP is used for uploading from Excel data into SAP tables or ABAP internal tables.
To show how to upload from Excel data file, I have exported some data outside SAP system from MS SQL Server 2008 AdventureWorks database.
The vendor data from database is exported to Excel file and the below ABAP report/program will import or upload data from excel to ABAP internal table.
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/24/d23f6177c02a3b86a9d544451410884f.png)
The UPLOAD_FROM_EXCEL sample ABAP program has a SELECTION-SCREEN where ABAP users or SAP users can select source file for Excel data.
The selection-screen uses cl_gui_frontend_services=>file_open_dialog method for displaying Windows type file exporer for file open dialog screen.
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/24/9e137936336d6d9bd0f06b121e8ea22a.png)
After the Excel file for data upload is selected within the file open dialog screen, the UploadExcelData form routine and DisplayInternalTableData form routine is executed in order.
UploadExcelData loads Excel data from selected Excel source file to target ABAP internal table using the ABAP TEXT_CONVERT_XLS_TO_SAP function call.
While TEXT_CONVERT_XLS_TO_SAP function call, it is important to set the internal table suitable for the source file.
For this reason, I have defined a custom type gty_Vendors in TYPES declaration section.
And a work area gs_Vendors and internal table gt_Vendors declarations are made using this global type.
After type declarations and data definitions are carried out, I used i_tab_converted_data property of TEXT_CONVERT_XLS_TO_SAP ABAP function to point to the target internal table for Excel upload process.
The DisplayInternalTableData form simply loops within the internal table and displays vendor information on screen using WRITE method.
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/24/7119567e57a879452fe38427023afd28.png)
REPORT Z_UPLOAD_FROM_EXCEL. TYPE-POOLS : truxs. TYPES : BEGIN OF gty_Vendors, VendorID TYPE I, AccountNumber(20) TYPE C, Name(50) TYPE C, CreditRating(5) TYPE C, PreferredVendorStatus(5) TYPE C, ActiveFlag(5) TYPE C, PurchasingWebServiceURL(40) TYPE C, ModifiedDate(20) TYPE C, END OF gty_Vendors. DATA : g_raw_data TYPE TRUXS_T_TEXT_DATA, gs_Vendors TYPE gty_Vendors, gt_Vendors TYPE TABLE OF gty_Vendors. SELECTION-SCREEN BEGIN OF BLOCK BLOCK-1 WITH FRAME TITLE TEXT-001. PARAMETERS : pa_file LIKE rlgrap-filename DEFAULT 'C:\excel.xls'. " or CFFILE-FILENAME SELECTION-SCREEN END OF BLOCK BLOCK-1. AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_file. PERFORM u_SelectFile USING pa_file. START-OF-SELECTION. PERFORM u_UploadExcelData. PERFORM u_DisplayInternalTableData. END-OF-SELECTION. *&---------------------------------------------------------------------* *& Form U_SELECTFILE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_PA_FILE text *----------------------------------------------------------------------* FORM U_SELECTFILE USING P_PA_FILE TYPE LOCALFILE. DATA : lv_subrc LIKE sy-subrc, lt_it_tab TYPE filetable. " Display File Open Dialog control/screen CALL METHOD cl_gui_frontend_services=>file_open_dialog EXPORTING window_title = 'Select Source Excel File' default_filename = '*.xls' multiselection = ' ' CHANGING file_table = lt_it_tab rc = lv_subrc. " Write path on input area LOOP AT lt_it_tab INTO p_pa_file. ENDLOOP. ENDFORM. " U_SELECTFILE *&---------------------------------------------------------------------* *& Form U_UPLOADEXCELDATA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM U_UPLOADEXCELDATA . CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP' EXPORTING i_line_header = 'X' i_tab_raw_data = g_raw_data i_filename = pa_file TABLES i_tab_converted_data = gt_Vendors[] " Data EXCEPTIONS conversion_failed = 1 OTHERS = 2. ENDFORM. " U_UPLOADEXCELDATA *&---------------------------------------------------------------------* *& Form U_DISPLAYINTERNALTABLEDATA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM U_DISPLAYINTERNALTABLEDATA . WRITE : / ' VendorId' RIGHT-JUSTIFIED, 13 'AccountNumber', 34 'Name', 88 'CR' RIGHT-JUSTIFIED, 93 'PVS' RIGHT-JUSTIFIED, 101 'A' RIGHT-JUSTIFIED, 104 'URL', 144 'ModifiedDate'. LOOP AT gt_Vendors INTO gs_Vendors. WRITE : / gs_Vendors-VendorId RIGHT-JUSTIFIED, gs_Vendors-AccountNumber, gs_Vendors-Name, gs_Vendors-CreditRating RIGHT-JUSTIFIED, gs_Vendors-PreferredVendorStatus RIGHT-JUSTIFIED, gs_Vendors-ActiveFlag RIGHT-JUSTIFIED, gs_Vendors-PurchasingWebServiceURL, gs_Vendors-ModifiedDate. ENDLOOP. ENDFORM. " U_DISPLAYINTERNALTABLEDATA
相关文章推荐
- Export large data from GridView to Excel file using C#
- ABAP EXCEL文件读取函数 TEXT_CONVERT_XLS_TO_SAP的使用
- abap中TEXT_CONVERT_XLS_TO_SAP、CS_WHERE_USED_MAT的使用
- How to fetch data from SAP system using sap .net connector?
- How to read data from csv file in c#
- a universal class to complete import data from an excel file into a database
- reference to .init.data:monspecs from .text
- Unable to Drop a Datafile From the Tablespace Using Alter Tablespace Command (Doc ID 1050261.1)
- If you whant to download SIS, JAR and JAD file from WAP you have to upload file (in the same catalog) with this: [小糊涂的灵感]
- TEXT_CONVERT_XLS_TO_SAP实例
- How to copy a datafile from ASM to a file system not using RMAN
- sublime-text-how-to-jump-to-file-from-find-results-using-keyboard
- Insight into DOMDocument - how to convert data from XML to array in PHP
- How To Generate An XML File As A Target Datastore Using ODI In An Integration Interface ? [ID 454268
- How to avoid Excel from prompting "The file you are trying to open, , is in a different format than specified by the file extension"? (转)
- How To Load CLOB Data from a File into a CLOB column using PL/SQL
- NetSuite SuiteScript 2.0 export data to Excel file(xls)
- TEXT_CONVERT_XLS_TO_SAP
- Using CURL to download a remote file from a valid URL in c++
- To upload an excel file using WebDynpro Application.