1. REPORT ZTEST_UPEXCEL.
  2.  
  3. data: gt_table type TABLE OF SFLIGHT,
  4. gs_table like line of gt_table.
  5. DATA:lt_excel TYPE TABLE OF ZSTABLINE.
  6. DATA ls_excel LIKE LINE OF lt_excel.
  7. FIELD-SYMBOLS:<fs>.
  8. CONSTANTS: gc_begin_row TYPE i VALUE ,
  9. "Beginning row of excel file
  10. gc_begin_col TYPE i VALUE ,
  11. "Beginning column of excel file
  12. gc_end_row TYPE i VALUE ,
  13. "Ending row of excel file
  14. gc_end_col TYPE i VALUE .
  15. "Ending column of excel file
  16.  
  17. PARAMETERS: p_file LIKE rlgrap-filename. "定义存放上传文件路径名的变量
  18.  
  19. initialization.
  20.  
  21. at selection-screen on VALUE-REQUEST FOR p_file. "这个只用在批处理这边
  22. PERFORM sub_find USING p_file.
  23.  
  24. start-of-selection.
  25.  
  26. CALL FUNCTION 'ZALSM_EXCEL_TO_INTERNAL_TABLE'
  27. EXPORTING
  28. filename = p_file
  29. i_begin_col = "gc_begin_row'
  30. i_begin_row = "gc_begin_col
  31. i_end_col = "gc_end_row
  32. i_end_row = "gc_end_col
  33. TABLES
  34. intern = lt_excel
  35. * EXCEPTIONS
  36. * INCONSISTENT_PARAMETERS = 1
  37. * UPLOAD_OLE = 2
  38. * OTHERS = 3
  39. .
  40. IF sy-subrc <> .
  41. * Implement suitable error handling here
  42. ENDIF.
  43. LOOP AT lt_excel INTO ls_excel.
  44.  
  45. ASSIGN COMPONENT ls_excel-col OF STRUCTURE gs_table to <fs>. "把工作区gs_tab中的字段赋给字段符号,而工作区gs_tab中的字段取决于内表中的列ls_excel-col
  46. CONDENSE ls_excel-value. " 去掉空格
  47. <fs> = ls_excel-value.
  48. at end of row. "如果是最后一行就把工作区gs_tab存到内表gt_tab中
  49. "gs_tab-row = ls_excel-row.
  50. APPEND gs_table TO gt_table.
  51. CLEAR: gs_table.
  52.  
  53. ENDAT.
  54.  
  55. ENDLOOP.
  56.  
  57. INSERT SFLIGHT FROM TABLE GT_TABLE ACCEPTING DUPLICATE KEYS.
  58. IF SY-SUBRC = .
  59. COMMIT WORK.
  60. MESSAGE '维护成功' type 'S'.
  61.  
  62. ENDIF.
  63. *&---------------------------------------------------------------------*
  64. *& Form SUB_FIND
  65. *&---------------------------------------------------------------------*
  66. * text
  67. *----------------------------------------------------------------------*
  68. * -->P_P_FILE text
  69. *----------------------------------------------------------------------*
  70. FORM SUB_FIND USING P_P_FILE.
  71.  
  72. * DATA: LD_DEFAULT_EXTENSION TYPE STRING VALUE 'CSV'.
  73. DATA: LT_FILE_TAB TYPE FILETABLE.
  74. DATA: LS_FILE_LINE TYPE FILE_TABLE.
  75. DATA: LD_RC TYPE I,
  76. LW_TITLE TYPE STRING,
  77. LW_FILTER TYPE STRING.
  78.  
  79. * 变量赋值
  80. LW_TITLE = '选择文件'.
  81. LW_FILTER = 'Excel文件|*.xl;*.xls;*.xlsx|'.
  82.  
  83. CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
  84. EXPORTING
  85. WINDOW_TITLE = LW_TITLE
  86. FILE_FILTER = LW_FILTER
  87. INITIAL_DIRECTORY = 'C:\'
  88. CHANGING
  89. FILE_TABLE = LT_FILE_TAB
  90. RC = LD_RC
  91. EXCEPTIONS
  92. FILE_OPEN_DIALOG_FAILED = 1
  93. CNTL_ERROR = 2
  94. ERROR_NO_GUI = 3
  95. NOT_SUPPORTED_BY_GUI = 4
  96. OTHERS = 5.
  97. IF SY-SUBRC <> 0.
  98. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  99. WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  100. ELSE.
  101. CHECK LD_RC = 1.
  102. READ TABLE LT_FILE_TAB INTO LS_FILE_LINE INDEX 1.
  103. CHECK SY-SUBRC = 0.
  104. MOVE LS_FILE_LINE-FILENAME TO p_file.
  105. ENDIF.
  106. " F4_FOR_FILES
  107.  
  108. ENDFORM. " SUB_FIND

一个上传EXCEL导入示例的更多相关文章

  1. js上传Excel文件

    一.问题 需要在项目里添加一个上传excel文件的功能,因为其他同样的后台里面有上传文件的功能,第一反应就是想着直接用.了解了一下发现它是利用bootstrap的fileinput实现的,但是我怎么都 ...

  2. asp.net mvc4 easyui datagrid 增删改查分页 导出 先上传后导入 NPOI批量导入 导出EXCEL

    效果图 数据库代码 create database CardManage use CardManage create table CardManage ( ID ,) primary key, use ...

  3. 使用ocupload和POI一键上传Excel并解析导入数据库

    使用的工具如下:  JQuery ocupload jquery.ocupload-1.1.2.js Apache POI poi-3.9.jar 如果是Maven项目添加依赖如下: <depe ...

  4. jsp+servlet上传excel并将数据导入到数据库表的实现方法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  5. java的poi技术下载Excel模板上传Excel读取Excel中内容(SSM框架)

    使用到的jar包 JSP: client.jsp <%@ page language="java" contentType="text/html; charset= ...

  6. java上传excel到后台解析入库

    背景:最近需要做一个excel模板导入的功能,以便用户可以自己增删改查数据,当然,只有特别的用户才能有此权限,捋了捋思路,还是从前端写起 实现: 页面最后的效果如下,可以自己修改,删除,导入导出数据, ...

  7. EasyUi通过OCUpload上传及POI上传 实现导入xls表格功能

    Easyui上传文件案例 第一步:要想使用OCUpload首先前端需要导入js包         <script type="text/javascript" src=&qu ...

  8. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据

    ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案   ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...

  9. POI上传Excel的小问题处理

    package com.platform.utils.excel; import com.platform.utils.RRException; import org.springframework. ...

随机推荐

  1. 利用 操作符特性 代替if判断语句

    参考:http://blog.csdn.net/speedme/article/details/22916181 1.&&的判断特性 #include <stdio.h> ...

  2. emoji表情键盘 回退删除方法

  3. 那些年搞不懂的"协变"和"逆变"

    博主之前也不是很清楚协变与逆变,今天在书上看到了有关于协变还是逆变的介绍感觉还是不太懂,后来看了一篇园子里面一位朋友的文章,顿时茅塞顿开.本文里面会有自己的一些见解也会引用博友的一些正文,希望通过本篇 ...

  4. Ruby学习-第二章

    第二章 类继承,属性,类变量 1.如何声明一个子类 class Treasure < Thing 这样Thing类中的属性name,description都被Treasure继承 2.以下三种方 ...

  5. Codeforces 85D Sum of Medians(线段树)

    题目链接:Codeforces 85D - Sum of Medians 题目大意:N个操作,add x:向集合中加入x:del x:删除集合中的x:sum:将集合排序后,将集合中全部下标i % 5 ...

  6. C#如何在panl控件上添加Form窗体

    . if (treeView1.SelectedNode.Text == "个人信息") { Form1 f4 = new Form1(); f4.TopLevel = false ...

  7. 幻世(OurDream)2D图形引擎使用教程11——播放媒体文件(1)

    声明:本教程版权归Lizcst Software Lab所有,欢迎转载,但是转载必须保留本段声明文字,并注明文章来源:http://blog.csdn.net/kflizcst 谢谢合作! 播放媒体是 ...

  8. java--实例成员 & 静态成员

    class run{ static String str1 = "静态变量"; String str2 = "非静态变量"; public static voi ...

  9. vc根据域名获取IP地址 gethostbyname()函数

    以下是VC Socket初始化时用到的两个函数 一.WSAStartup函数                int WSAStartup                       (         ...

  10. two sets of Qt binaries into the same process的解决办法

    突然出现了这样问题,吓死我,然后只是把原来编译好的app里面所有的东西删除再编译就好了. 如果删除后不行,可以试试后面的截图所说,反正我是没有试过的 Starting /Qtwork/build-te ...