Excel导入数据下载模板示例

1. 界面

  • 选择屏幕
    1
  • 导入界面
    2

2. 实现

  • 代码
    	TABLES sscrfields.
    	*----------------------------------------------------------------------*
    	*       CLASS lcl_events DEFINITION
    	*----------------------------------------------------------------------*
    	*
    	*----------------------------------------------------------------------*
    	CLASS lcl_events DEFINITION.
    	  PUBLIC SECTION.
    	    METHODS: on_user_command        "定义设置SALV on_user_command属性的方法
    	      FOR EVENT added_function OF cl_salv_events_table
    	      IMPORTING e_salv_function.
    	ENDCLASS.                    "lcl_events DEFINITION
    	
    	*----------------------------------------------------------------------*
    	*       CLASS lcl_events IMPLEMENTATION
    	*----------------------------------------------------------------------*
    	*
    	*----------------------------------------------------------------------*
    	CLASS lcl_events IMPLEMENTATION.
    	  METHOD on_user_command.
    	    PERFORM frm_on_user_command USING e_salv_function.
    	  ENDMETHOD.                    "on_user_command
    	ENDCLASS.                    "lcl_events IMPLEMENTATION
    	TYPES: BEGIN OF ty_out,
    	  icon TYPE char4,
    	  text TYPE char30,
    	  matnr TYPE mara-matnr,
    	  werks TYPE t001w-werks,
    	  END OF ty_out.
    	
    	DATA: go_alv TYPE REF TO cl_salv_table.
    	
    	DATA: gt_out TYPE TABLE OF ty_out,
    	      wa_out TYPE ty_out.
    	
    	TYPE-POOLS: truxs.
    	TABLES: ztmm_sfzs.
    	
    	DATA: gs_text    TYPE smp_dyntxt.
    	
    	SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE l_title1.
    	PARAMETERS: p_import TYPE c RADIOBUTTON GROUP r1 USER-COMMAND uc01 DEFAULT'X',
    	            p_delete TYPE c RADIOBUTTON GROUP r1,
    	            p_query  TYPE c RADIOBUTTON GROUP r1.
    	SELECTION-SCREEN END OF BLOCK b1.
    	
    	SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE l_title2.
    	PARAMETERS : p_file TYPE string OBLIGATORY DEFAULT'C:\TEMPLATE.XLSX' MODIF ID m1.
    	
    	SELECT-OPTIONS: s_matnr FOR ztmm_sfzs-matnr MODIF ID m2,
    	                s_werks FOR ztmm_sfzs-werks MODIF ID m2.
    	
    	SELECTION-SCREEN END OF BLOCK b2.
    	
    	SELECTION-SCREEN FUNCTION KEY 1.
    	SELECTION-SCREEN FUNCTION KEY 2.
    	
    	INITIALIZATION.
    	  PERFORM frm_init_funckey.
    	  l_title1 = '选择功能'.
    	  l_title2 = '选择条件'.
    	
    	
    	AT SELECTION-SCREEN OUTPUT.
    	  CASE 'X'.
    	    WHEN p_import OR p_delete.
    	      IF p_import = 'X'.
    	        gs_text-icon_id   = icon_execute_object.
    	        gs_text-text      = '执行新增数据'.
    	        gs_text-icon_text = '执行新增'.
    	      ELSE.
    	        gs_text-icon_id   = icon_execute_object.
    	        gs_text-text      = '执行删除数据'.
    	        gs_text-icon_text = '执行删除'.
    	      ENDIF.
    	
    	      LOOP AT SCREEN.
    	        IF screen-group1 = 'M2'.
    	          screen-active = 0.
    	          MODIFY SCREEN.
    	        ENDIF.
    	      ENDLOOP.
    	    WHEN p_query.
    	      LOOP AT SCREEN.
    	        IF screen-group1 = 'M1'.
    	          screen-active = 0.
    	          MODIFY SCREEN.
    	        ENDIF.
    	      ENDLOOP.
    	    WHEN OTHERS.
    	  ENDCASE.
    	
    	AT SELECTION-SCREEN.
    	  IF sscrfields-ucomm = 'FC01'.
    	    PERFORM frm_download_template.
    	  ELSEIF sscrfields-ucomm = 'FC02'.
    	    PERFORM frm_skip_old_tcode.
    	  ENDIF.
    	
    	
    	
    	AT SELECTION-SCREEN ON VALUE-REQUEST FOR
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 Java 导入 Excel 模板数据并获取数据示例代码: ```java import java.io.FileInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; public class ExcelImportDemo { public static void main(String[] args) { try { // 读取 Excel 模板文件 InputStream input = new FileInputStream("template.xlsx"); Workbook workbook = WorkbookFactory.create(input); Sheet sheet = workbook.getSheetAt(0); // 获取数据 List<List<String>> data = new ArrayList<>(); Iterator<Row> rowIterator = sheet.iterator(); while (rowIterator.hasNext()) { Row row = rowIterator.next(); List<String> rowData = new ArrayList<>(); Iterator<Cell> cellIterator = row.cellIterator(); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); rowData.add(cell.getStringCellValue()); } data.add(rowData); } // 输出数据 System.out.println("Excel 模板数据:"); for (List<String> rowData : data) { for (String cellData : rowData) { System.out.print(cellData + "\t"); } System.out.println(); } // 关闭输入流 input.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 需要注意的是,此示例代码是基于 Apache POI 库实现的,因此需要先将该库添加到项目中。可以在 Maven 中添加以下依赖项: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值