我需要用一个数据填充一个单元格,用“新行”符号分隔。 我试过了:
data: l_con_sepa TYPE c VALUE cl_abap_char_utilities=>newline.
...
CONCATENATE <gf_aufk>-tplnr " 6000000159 Korchagin AS 02.02.2017
<gf_aufk>-pltxt
l_con_sepa
<gf_aufk>-aufnr
INTO lv_str
SEPARATED BY space.
试图使用CL_ABAP_CHAR_UTILITIES=>CR_LF
。试图用“&amp;”和“#”符号。试图用引号括起lv_str
。没有。
我要么按原样使用符号,要么只是一个空白空间'alt + enter'等效。
答案 0 :(得分:2)
使用Excel进行的简单实验,即创建一个包含Alt+Enter
个字符的单元格并将其另存为CSV文件,可以看出这样的新行符号是LF
而不是CR_LF
。此外,它用双引号括起来。
所以只需使用双引号和CL_ABAP_CHAR_UTILITIES=>NEWLINE
。
必须使用CSV。您没有指定用于将数据导出为XLS格式的API,因此我无法对其进行测试。如果你不介意在问题中加入这些细节,请这样做。
假设你使用FM SAP_CONVERT_TO_XLS_FORMAT
,甚至不需要双引号。
REPORT YYY.
TYPES: BEGIN OF gty_my_type,
col1 TYPE char255,
col2 TYPE char255,
END OF gty_my_type,
gtty_my_type TYPE STANDARD TABLE OF gty_my_type WITH EMPTY KEY.
START-OF-SELECTION.
DATA(gt_string_table) = VALUE gtty_my_type(
(
col1 = 'aaa'
&& cl_abap_char_utilities=>newline
&& 'bbb'
&& cl_abap_char_utilities=>newline
&& 'ccc'
col2 = 'ddd'
)
).
CALL FUNCTION 'SAP_CONVERT_TO_XLS_FORMAT'
EXPORTING
i_filename = 'D:\temp\abap.xlsx'
TABLES
i_tab_sap_data = gt_string_table
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
ASSERT sy-subrc = 0.
结果如下所示
我认为它可能是由CONCATENATE .. INTO .. SEPARATED BY space
引起的,但事实并非如此。请执行以下程序以查看它。
REPORT YYY.
TYPES: BEGIN OF gty_my_type,
col1 TYPE char255,
col2 TYPE char255,
END OF gty_my_type,
gtty_my_type TYPE STANDARD TABLE OF gty_my_type WITH EMPTY KEY.
DATA: gs_string TYPE gty_my_type.
DATA: gt_string_table TYPE gtty_my_type.
START-OF-SELECTION.
CONCATENATE 'aaa' cl_abap_char_utilities=>newline 'bbb' cl_abap_char_utilities=>newline 'ccc'
INTO gs_string-col1 SEPARATED BY space.
gs_string-col2 = 'ddd'.
APPEND gs_string TO gt_string_table.
CALL FUNCTION 'SAP_CONVERT_TO_XLS_FORMAT'
EXPORTING
i_filename = 'D:\temp\abap.xlsx'
TABLES
i_tab_sap_data = gt_string_table
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
ASSERT sy-subrc = 0.
所以问题必定在其他地方。您没有向我们展示您的整个代码。也许您使用某种第三方软件包来处理您的Excel文件?
答案 1 :(得分:0)
我不记得是否需要添加&#34;行结束&#34;符号。 只需将每一行附加到表格中,然后使用FM SAP_CONVERT_TO_XLS_FORMAT下载整个表格。