Office 2007 XLSX支持

2020-09-04 00:50发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在寻找一种可以以某种标准方式帮助我支持ECC6 EHP 4系统的xlsx支持的解决方案。

我希望如果在Excel中导出alv(任何alv报告程序),则应生成xlsx文件Office 2007标准xlsx文件进行保存。

我还在寻找可用于从自定义程序生成xlsx文件并通过电子邮件发送或进行GUI_Download的任何类/对象/函数。

我知道我不能在单线程上问太多问题,但是我的要求是要有一个标准解决方案,默认情况下在下载/上传中支持2007 Office excel文件格式。

我发现OSS也不是指相同的要求,但我想向您建议它可以完全解决我的目的。

OSS注释: 1286768



谢谢


Anand

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在寻找一种可以以某种标准方式帮助我支持ECC6 EHP 4系统的xlsx支持的解决方案。

我希望如果在Excel中导出alv(任何alv报告程序),则应生成xlsx文件Office 2007标准xlsx文件进行保存。

我还在寻找可用于从自定义程序生成xlsx文件并通过电子邮件发送或进行GUI_Download的任何类/对象/函数。

我知道我不能在单线程上问太多问题,但是我的要求是要有一个标准解决方案,默认情况下在下载/上传中支持2007 Office excel文件格式。

我发现OSS也不是指相同的要求,但我想向您建议它可以完全解决我的目的。

OSS注释: 1286768



谢谢


Anand

付费偷看设置
发送
10条回答
Violet凡
1楼 · 2020-09-04 01:46.采纳回答

嗨,

您可以尝试" abap2xlsx"。 转到 www.abap2xlsx.org 并尝试。 他们的工作很棒。

风早神人
2楼-- · 2020-09-04 01:31

谢谢。 将尝试abap2xlsx。

Nan4612
3楼-- · 2020-09-04 01:47

*创建流工厂
l_streamfactory = l_ixml-> create_stream_factory()。

*将内部XML表连接到Stream Factory
l_ostream = l_streamfactory-> create_ostream_itable(table = l_xml_table)。


*渲染文档
l_renderer = l_ixml-> create_renderer(ostream = l_ostream document = l_document)。
l_rc = l_renderer-> render ()。

*保存XML文档

l_xml_size = l_ostream-> get_num_writing_raw()。

我从这段代码中得到一个XML表" l_xml_table",我该如何转换为支持.xlsx文件(EXcel2007格式)的Format并使用Cl_bcs类

SPAN {font- 家庭:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S31 {font-style:italic; 颜色:#808080; } .L0S33 {color:#4DA619; } .L0S52 {color:#0000FF; } .L0S55 {color:#800080; } .L0S70 {color:#808080; }

数据:lt_mt_data类型REF TO数据,
lv_m_flavor TYPE字符串,
lv_m_version TYPE字符串,
lt_mo_result_data类型REF到cl_salv_ex_result_data_table,
lt_mo_列类型REF到TO __> cl_salv_aggregations,
lt_mo_salv_table类型参考cl_salv_table,
lv_m_file_type类型salv_bs_constant,
lv_out_length类型i
* lw_lvc_layout类型lvc_s_layo

    >键入任何表。
    清除:lt_mt_data,
    lt_mo_salv_table,
    lt_mo_result_data,
    lv_out_length。

    如果gt_mt_fcat是INITIAL。
    **为邮件标题列构建字段目录
    PERFORM f_build_fcatmail。

    ENDIF。
    ""引用我们的数据表
    引用ist_mail INTO lt_mt_data。

    ""创建salv类型表以创建excel

    ASSIGN lt_mt_data-> *至
    尝试。
    cl_salv_table => factory(
    导出
    list_display = abap_false
    导入
    r_salv_tabl e = lt_mo_salv_table
    更改
    t_table = )。
    捕获cx_salv_msg。

    ENDTRY。


    IF cl_salv_bs_a_xml_base => get_version()EQ > if_salv_bs_xml => version_25或
    cl_salv_bs_a_xml_base => get_version()EQ
    if_salv_bs_xml => version_26。

    *""将字段目录和我们的数据组合

    调用方法cl_salv_ex_ factory_result_data_table
    导出
    * t_selected_rows =
    * t_selected_columns =
    * t_selected_cells =
    r_data = lt_mt_data
    * s_layout = lw_lvc_layout
    t_fieldcatalog = gt> mt_f_cat > * t_filter =
    * t_hyperlinks =
    * s_current_cell =
    * superlink_entry_column =
    * dropdown_entry_column =
    * t_dropdown_values =
    * r_top_of_list =
    * r_end_of_list =
    RECEIVING
    r_result_data_table = lt_mo_result_data。


    CASE cl_salv_bs_a_xml_base => get_version()。
    if_salv_bs_xml => version_25时。
    lv_m_version = if_salv_bs_>。 vers ion_26。
    lv_m_version = if_salv_bs_xml => version_26。
    ENDCASE。

    lv_m_file_type = if_salv_bs_xml => c_type_xlsx。

    lv_c_flavour = if_salv_bs_ 数据到excel的转换
    清除:gv_xstring。

    调用方法cl_salv_bs_tt_util => if_salv_bs_tt_util〜transform
    导出
    xml_type = lv_m_file_type
    xml_version = lv_m_ult_ult > xml_flavor = lv_m_flavor
    gui_type = if_salv_bs_xml => c_gui_type_gui
    IMPORTING
    xml = gv_xstring。
    ENDIF。

    * ------邮件附件的二进制格式为excel ------ *
    清除:gt_binary_content。
    调用功能'SCMS_XSTRING_TO_BINARY'
    导出
    缓冲区= gv_xstring
    导入
    output_length = lv_out_length
    表格
    Binary_tab = gt_binary_content。

    移动:lv_out_length TO pc_lv_size。

    这是我为.XLSx文件中excel中的内容编写的代码

一周热门 更多>