abap2xlsx set_cell方法无法将值设置为2个小数位

2020-08-20 02:16发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我可以知道如何在ab...

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

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


大家好,

我可以知道如何在abap2xlsx类中使用set_cell方法以确保我的值在excel工作表中位于2个小数位吗? 谢谢。

7条回答
哎,真难
2020-08-20 02:54

感谢Sandra Rossi,

我将您的代码修改为如下所示,并且有效!:

FORM fsetcell
使用ip_col类型i
ip_row类型zexcel_cell_row
ip_value类型any。
xl-colalpha = zcl_excel_common => convert_column2alpha(ip_col)。
数据:开始于l,< br>第TYPE i行,
l的结尾。


*获取数据类型

DATA:
* my_type TYPE p,
* my_data TYPE my_type,

descr_ref类型参考cl_abap_typedescr。

数据:lo_style_dec2类型参考zcl_excel_style。
数据lo_style类型参考zcl_excel。
数据lv_style_dec2_guid类型zexcel_cell_style。

清除l。
如果ip_row初始。
将xl-row移到l-row。
ELSE。
将ip_row移到l行。
ENDIF。
< br> descr_ref = cl_abap_typedescr => describe_by_data(ip_value)。

*呼叫方法lo_style-> add_new_style
*导出
* ip_guid = zcl_excel_style_number_format => c_format_number_00
* RECEIVING =
*。


如果descr_ref-> type_kind ='P'。 "带包装的数字

lo_style_dec2 = lo_excel-> add_new_style()。
lo_style_dec2-> number_format-> format_code = zcl_excel_style_number_format => c_format_number_00。
lv_style_dec2_guid = lo_style_dec2-> get *将公式的默认值设置为excel中的2个小数位。
lo_worksheet-> set_cell(
ip_column = xl-colalpha
ip_row = l-row
ip_value = ip_value" L-value
ip_formula =空格"'ROUND(ip_value,2)'
ip_abap_type ='P'
ip_style = lv_style_dec2_guid" l-style
)。
ELSE。
lo_worksheet-> set_cell(
ip_column = xl-colalpha
ip_row = l-row
ip_value = ip_value" L-value
ip_formula =空格" ip_formula
* ip_style = l-style
)。
ENDIF 。

ENDFORM。 " fsetcell