点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我一直在使用以下代码将格式化的Excel工作表作为附件发送到电子邮件中。
在下面的代码中,我想将单元格的格式从粗体更改为下划线。
我用下面的代码将Bold替换为Underline,但是任何人都不能建议这样做。
----------------
- 部门
r_cell = l_document-> create_simple_element(name ='Cell'parent = r_row)。
r_cell-> set_attribute_ns(name ='StyleID'prefix ='ss'value ='Header')。
r_data = l_document-> create_simple_element(name ='Data'值='MATNR'parent = r_cell)。
r_data-> set_attribute_ns(name ='Type'prefix ='ss'value ='String')。
r_format-> set_attribute_ns(name ='Bold'prefix ='ss'value ='1')。
--------------------------------------------------- ---
- 创建ixml工厂
l_ixml = cl_ixml => create()。
- 创建DOM对象模型
l_document = l_ixml-> create_document()。
- 创建根节点"工作簿"
l_element_root = l_document-> create_simple_element(name ='Workbook'parent = l_document)。 l_element_root-> set_attribute(name ='xmlns'value ='urn:schemas-microsoft-com:office:spreadsheet')。 ns_attribute = l_document-> create_namespace_decl(name ='ss'prefix ='xmlns'uri ='urn:schemas-microsoft-com:office:spreadsheet')。 l_element_root-> set_attribute_node(ns_attribute)。 ns_attribute = l_document-> create_namespace_decl(name ='x'prefix ='xmlns'uri ='urn:schemas-microsoft-com:office:excel')。 l_element_root-> set_attribute_node(ns_attribute)。
- 为文档属性创建节点。
r_element_properties = l_document-> create_simple_element(name ='TEST_REPORT'parent = l_element_root)。 l_value = sy-uname。 l_document-> create_simple_element(name ='Author'value = l_value parent = r_element_properties)。
- 样式
r_styles = l_document-> create_simple_element(name ='Styles'parent = l_element_root)。
- 标题样式
r_style = l_document-> create_simple_element(name ='Style'parent = r_styles)。 r_style-> set_attribute_ns(name ='ID'prefix ='ss'value ='Header')。 r_format = l_document-> create_simple_element(name ='Font'parent = r_style)。
- 工作表
r_worksheet = l_document-> create_simple_element(name ='Worksheet'parent = l_element_root)。 r_worksheet-> set_attribute_ns(name ='Name'前缀='ss'值='PO Details')。
- 表
r_table = l_document-> create_simple_element(name ='Table'parent = r_worksheet)。 r_table-> set_attribute_ns(name ='FullColumns'prefix ='x'value ='1')。 r_table-> set_attribute_ns(name ='FullRows'prefix ='x'value ='1')。
- 列格式
r_column = l_document-> create_simple_element(name ='Column'parent = r_table)。 r_column-> set_attribute_ns(name ='Width'前缀='ss'值='70')。 r_column = l_document-> create_simple_element(name ='Column'parent = r_table)。 r_column-> set_attribute_ns(name ='Width'前缀='ss'值='70')。 r_column = l_document-> create_simple_element(name ='Column'parent = r_table)。 r_column-> set_attribute_ns(name ='Width'前缀='ss'值='70')。 r_column = l_document-> create_simple_element(name ='Column'parent = r_table)。 r_column-> set_attribute_ns(name ='Width'前缀='ss'值='70')。 r_column = l_document-> create_simple_element(name ='Column'parent = r_table)。 r_column-> set_attribute_ns(name ='Width'前缀='ss'值='70')。
- 空白行
r_row = l_document-> create_simple_element(name ='Row'parent = r_table)。
- 列标题行
r_row = l_document-> create_simple_element(name ='Row'parent = r_table)。 r_row-> set_attribute_ns(name ='AutoFitHeight'前缀='ss'值='1')。
- 高级 不。
r_cell = l_document-> create_simple_element(name ='Cell'parent = r_row)。 r_cell-> set_attribute_ns(name ='StyleID'prefix ='ss'value ='Header')。 r_data = l_document-> create_simple_element(name ='Data'值='EBELN'parent = r_cell)。 r_data-> set_attribute_ns(name ='Type'prefix ='ss'value ='String')。
- 用户名
r_cell = l_document-> create_simple_element(name ='Cell'parent = r_row)。 r_cell-> set_attribute_ns(name ='StyleID'prefix ='ss'value ='Header')。 r_data = l_document-> create_simple_element(name ='Data'值='EBELP'parent = r_cell)。 r_data-> set_attribute_ns(name ='Type'prefix ='ss'value ='String')。
- 全名
r_cell = l_document-> create_simple_element(name ='Cell'parent = r_row)。 r_cell-> set_attribute_ns(name ='StyleID'prefix ='ss'value ='Header')。 r_data = l_document-> create_simple_element(name ='Data'值='AEDAT'parent = r_cell)。 r_data-> set_attribute_ns(name ='Type'prefix ='ss'value ='String')。
- 部门
r_cell = l_document-> create_simple_element(name ='Cell'parent = r_row)。 r_cell-> set_attribute_ns(name ='StyleID'prefix ='ss'value ='Header')。 r_data = l_document-> create_simple_element(name ='Data'值='MATNR'parent = r_cell)。 r_data-> set_attribute_ns(name ='Type'prefix ='ss'value ='String')。 r_format-> set_attribute_ns(name ='Bold'prefix ='ss'value ='1')。 r_format = l_document-> create_simple_element(name ='Interior'parent = r_style)。 r_format-> set_attribute_ns(name ='Color'prefix ='ss'value ='#C0C0C0')。 r_format-> set_attribute_ns(name ='Pattern'prefix ='ss'value ='Solid')。 r_format = l_document-> create_simple_element(name ='Alignment'parent = r_style)。 r_format-> set_attribute_ns(name ='Vertical'prefix ='ss'value ='Center')。 r_format-> set_attribute_ns(name ='WrapText'prefix ='ss'value ='1')。
- 数据表
循环到it_ekpo INTO wa_ekpo。 r_row = l_document-> create_simple_element(name ='Row'parent = r_table)。
- 高级 不。
- 玉宝
r_cell = l_document-> create_simple_element(name ='Cell'parent = r_row)。 r_cell-> set_attribute_ns(name ='StyleID'prefix ='ss'value ='Data')。 l_value = wa_ekpo-ebeln。 r_data = l_document-> create_simple_element(name ='Data'值= l_value parent = r_cell)。 "数据r_data-> set_attribute_ns(name ='Type'前缀='ss'value ='String')。"单元格格式
- EBELP
r_cell = l_document-> create_simple_element(name ='Cell'parent = r_row)。 r_cell-> set_attribute_ns(name ='StyleID'prefix ='ss'value ='Data')。 l_value = wa_ekpo-ebelp。 r_data = l_document-> create_simple_element(name ='Data'值= l_value parent = r_cell)。 "数据r_data-> set_attribute_ns(name ='Type'前缀='ss'value ='String')。"单元格格式
- AEDAT
r_cell = l_document-> create_simple_element(name ='Cell'parent = r_row)。 r_cell-> set_attribute_ns(name ='StyleID'prefix ='ss'value ='Data')。 l_value = wa_ekpo-aedat。 r_data = l_document-> create_simple_element(name ='Data'值= l_value parent = r_cell)。 "数据r_data-> set_attribute_ns(name ='Type'前缀='ss'value ='String')。"单元格格式
- MATNR
r_cell = l_document-> create_simple_element(name ='Cell'parent = r_row)。 r_cell-> set_attribute_ns(name ='StyleID'prefix ='ss'value ='Data')。 l_value = wa_ekpo-matnr。 r_data = l_document-> create_simple_element(name ='Data'值= l_value parent = r_cell)。 "数据r_data-> set_attribute_ns(name ='Type'前缀='ss'值='String')。"单元格格式ENDLOOP。
- 创建流工厂
l_streamfactory = l_ixml-> create_stream_factory()。
- 将内部XML表连接到流工厂
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()。
在发送邮件之前,
LOOP AT l_xml_table INTO wa_xml。
清除objbin。
objbin-line = wa_xml-data。
将objbin附加到BINARY_CONTENT。
ENDLOOP。
在这里,objbin的类型为SOLIX,而BINARY_CONTENT的类型为SOLIX_TAB。
现在,调用方法,
呼叫方法文档-> ADD_ATTACHMENT
导出I_ATTACHMENT_TYPE ='XLS'
I_ATTACHMENT_SUBJECT ='我的附件'
I_ATT_CONTENT_HEX = BINARY_CONTENT。
尝试一下。
r_format-> set_attribute_ns(name ='Underline'prefix ='ss'value ='Single')。
此消息已被审核
有什么方法可以使用xml方法获得密码保护excel附件吗?
一周热门 更多>