1. 内表拼成xml文件,以excel形式作为邮件附件发送

2. 速度比ole快很多倍。测试用程序,从sflight数据库表里去了397行数据,拼成xml文件,并发送邮件。整个程序从开始执行到收到邮件,只用了11s。对比ole,即使向excel里写入10行的内容,也要几分钟。

3. 原理:xls里创建sheet,sheet里创建table,设置table列,为table里一行一行添加行,为行一个一个添加cell,为cell添加data对象,data有属性value,即为单元格里的值。

4. 使用的主要接口有:
a. IF_IXML_ELEMENT
b. IF_IXML
c. IF_IXML_STREAM_FACTORY
d. IF_IXML_OSTREAM
e. IF_IXML_RENDERER
 f. IF_IXML_DOCUMENT

5. xml节点介绍

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

6. 首先创建ixml factory和DOM对象模型

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

7. 创建根节点root. 此处root是worksheet。为sheet添加各种属性定义。在sheet里添加table。

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

8. 用的是sflight表,有14个field。

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

9. 为excel创建14个列

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

10. 为每个列创建表头

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

11. 取数后向excel里填数,一行一行。每行里一个cell一个cell填。

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

12. 保存xml文件

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

13. 文件以二进制形式发送。首先要把xml文件转换为二进制文件。

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

14. 发送文件

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

15. 发送结果(部分截屏)

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

ABAP: 内表到xml,以excel形式发送邮件 - 分段解析

相关文章:

  • 2022-12-23
  • 2021-11-23
  • 2021-10-03
  • 2022-12-23
  • 2022-12-23
  • 2021-07-03
  • 2021-11-18
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-04
相关资源
相似解决方案