EXCEL上传DEMO

DATA: filetab TYPE filetable WITH HEADER LINE .

DATA: rc TYPE i.

DATA: outtab TYPE TABLE OF mara WITH HEADER LINE  .

DATA: itab TYPE TABLE OF alsmex_tabline WITH HEADER LINE.

 

 

DATA:g_file TYPE rlgrap-filename.

 

FIELD-SYMBOLS: <fs>.

 

PARAMETERS: p_file TYPE string.

 

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

  CALL METHOD cl_gui_frontend_services=>file_open_dialog

    EXPORTING

      default_filename = p_file

    CHANGING

      rc               = rc

      file_table       = filetab[].

 

  READ TABLE  filetab INDEX  1.

 

  IF sy-subrc EQ 0.

    p_file = filetab-filename.

  ENDIF.

 

 

START-OF-SELECTION.

  g_file = p_file.  "注意两个文件用于不同的函数,所以类型不同

 

  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

    EXPORTING

      filename    = g_file

      i_begin_col = 1

      i_begin_row = 1

      i_end_col   = 255

      i_end_row   = 65536

    TABLES

      intern      = itab[].

 

  DELETE itab WHERE row = 1.  "删除字段名行

  

  LOOP AT itab.

    

    ON CHANGE OF itab-row.

      IF sy-tabix NE 1.

        APPEND outtab.

        CLEAR outtab.

      ENDIF.

    ENDON.

 

    ASSIGN COMPONENT itab-col OF STRUCTURE outtab TO <fs>.         "动态方法将值传到相应的内表

    <fs> = itab-value.

 

  ENDLOOP.

 

  APPEND outtab.   "这句不要忘记,要把最后一条APPEND到内表中

转载于:https://www.cnblogs.com/eric0701/p/4203443.html

这是一个简单的Spring Boot整合POI解析Excel的示例代码: 首先,需要在pom.xml文件中添加POI的依赖: ```xml <dependencies> <!-- Spring Boot Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- Apache POI --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> </dependencies> ``` 接下来,创建一个Controller类来处理Excel文件的上传和解析: ```java import org.apache.poi.ss.usermodel.*; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.ArrayList; import java.util.List; @Controller public class ExcelController { @PostMapping("/upload") public ResponseEntity<List<String>> uploadExcel(@RequestParam("file") MultipartFile file) { List<String> data = new ArrayList<>(); try { Workbook workbook = WorkbookFactory.create(file.getInputStream()); Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { for (Cell cell : row) { data.add(cell.toString()); } } workbook.close(); } catch (IOException e) { e.printStackTrace(); return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } return new ResponseEntity<>(data, HttpStatus.OK); } } ``` 在这个示例中,我们使用`WorkbookFactory`来创建Workbook对象,然后获取第一个Sheet,并遍历所有的行和单元格来获取数据。最后,将解析的数据返回给客户端。 注意:这里只是一个简单的示例,实际项目中可能需要根据Excel的具体格式进行更复杂的解析逻辑。 希望以上示例能够帮助你理解如何在Spring Boot中整合POI进行Excel解析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值