读取本地EXCEL文件

本文档介绍如何在SAP ABAP环境中通过对话框选择本地Excel文件,并将其内容读取到内部表中。首先使用CL_GUI_FRONTEND_SERVICES的FILE_OPEN_DIALOG方法打开文件选择对话框,然后调用ALSM_EXCEL_TO_INTERNAL_TABLE函数将选定的Excel文件内容导入到内存中的IT_EXCEL表。
DATA: IT_EXCEL LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.

PARAMETERS FN LIKE RLGRAP-FILENAME MEMORY ID MO1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR FN.
  DATA: I_RC         TYPE I,
       I_FILETABLE  TYPE FILETABLE.
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
    EXPORTING
      WINDOW_TITLE            = '选择源文件'
      FILE_FILTER             = 'excel文件 (*.xls)|*.XLS|全部文件 (*.*)|*.*|'
      MULTISELECTION          = SPACE
    CHANGING
      FILE_TABLE              = I_FILETABLE
      RC                      = I_RC
    EXCEPTIONS
      FILE_OPEN_DIALOG_FAILED = 1
      CNTL_ERROR              = 2
      ERROR_NO_GUI            = 3
      NOT_SUPPORTED_BY_GUI    = 4
      OTHERS                  = 5.
  IF SY-SUBRC = 0 AND I_RC = 1.
    READ TABLE I_FILETABLE INTO FN INDEX 1.
  ENDIF.

START-OF-SELECTION.
  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      FILENAME                      = FN
      I_BEGIN_COL                   = 1
      I_BEGIN_ROW                   = 1
      I_END_COL                     = 100
      I_END_ROW                     = 65536
    TABLES
      INTERN                        = IT_EXCEL
### Python读写本地Excel文件的方法 #### 使用 `openpyxl` 库读写 Excel 文件 `openpyxl` 是一个专门用于处理 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库[^1]。要安装此库,可以使用如下命令: ```bash pip install openpyxl ``` 打开并读取 Excel 文件的具体实现方式如下所示: ```python import openpyxl # 加载现有的工作簿 wb = openpyxl.load_workbook('example.xlsx') # 获取当前活跃的工作表 sheet = wb.active # 访问指定单元格的数据 cell_value = sheet['A1'].value print(f"The value of A1 is {cell_value}") # 迭代遍历所有行,并打印每一行的内容 for row in sheet.iter_rows(values_only=True): print(row) # 关闭工作簿连接 wb.close() ``` 对于向 Excel 中写入数据的操作,则可以通过创建新的工作簿或修改现有工作簿完成。 ```python import openpyxl # 创建一个新的工作簿对象 wb = openpyxl.Workbook() # 获得默认的第一个工作表 ws = wb.active # 向表格内填充值 ws.append(['姓名', '年龄']) ws.append(['张三', 28]) # 将更改保存到磁盘上的新文件中 wb.save("new_example.xlsx") # 不再需要时关闭工作簿 wb.close() ``` #### 利用 `pandas` 处理 Excel 数据 除了 `openpyxl` ,另一种常用的工具就是 Pandas 。它不仅能够轻松导入导出 Excel 表格,还提供了强大的数据分析功能[^3]。下面给出一段简单的例子展示怎样通过 pandas 来加载 excel 文件: ```python import pandas as pd # 从Excel文件读取数据至DataFrame结构 df = pd.read_excel('data.xlsx') # 显示前几条记录查看内容 print(df.head()) # 如果想要把 DataFrame 存储回 Excel 文件里也很简单 output_file_path = "processed_data.xlsx" df.to_excel(output_file_path, index=False) ``` 以上两种方法都可以有效地帮助用户在 Python 环境下对本地存储的 Excel 文档执行各种操作。选择哪种取决于具体应用场景和个人偏好。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值