因为该EXCEl发送给网银接口,要求Excel的内容不可以修改。   参考信息:http://scn.sap.com/docs/DOC-45427

实现DEMO,待优化:

*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

REPORT zzred_test1.
TYPE-POOLS: ole2.
DATA: password TYPE string.

DATA: w_excel      TYPE ole2_object,
      w_workbook   TYPE ole2_object,
      w_worksheet  TYPE ole2_object,

w_columns    TYPE ole2_object,
      w_column_ent TYPE ole2_object,
      w_cell       TYPE ole2_object,
      w_int        TYPE ole2_object,
      w_range      TYPE ole2_object,

w_protect    TYPE ole2_object,
      w_selrange   TYPE ole2_object.

PARAMETERS: p_file LIKE rlgrap-filename DEFAULT 'D:\123.xls'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      program_name = syst-cprog
      field_name   = 'P_FILE'
    IMPORTING
      file_name    = p_file.

START-OF-SELECTION.
  password = 'Admin'.
  PERFORM download_excel.

FORM download_excel.
  CREATE OBJECT w_excel 'EXCEL.APPLICATION'.
  SET PROPERTY OF w_excel 'VISIBLE' = 1.
  CALL METHOD OF w_excel 'WORKBOOKS' = w_workbook.
  CALL METHOD OF w_workbook 'ADD'.
  SET PROPERTY OF w_excel 'SheetsInNewWorkbook' = 1.
  PERFORM download_sheet USING 1 'Data Details' .
  GET PROPERTY OF w_excel 'ActiveSheet' = w_worksheet.
  GET PROPERTY OF w_worksheet 'Protection' = w_protect.
  GET PROPERTY OF w_protect 'AllowEditRanges' = w_selrange.

CALL METHOD OF w_excel 'RANGE' = w_range
    EXPORTING
      #1 = 'A1'
      #2 = 'D11'.

CALL METHOD OF w_selrange 'Add'
    EXPORTING
      #1 = 'Range1'
      #2 = w_range
      #3 = password.

GET PROPERTY OF w_excel 'ActiveSheet' = w_worksheet.
  CALL METHOD OF w_worksheet 'PROTECT'

EXPORTING
      #1 = password.

GET PROPERTY OF w_excel 'ActiveWorkbook' = w_workbook.
  CALL METHOD OF w_workbook 'SAVES'
    EXPORTING
      #1 = p_file

#2 = 18.
  FREE OBJECT: w_worksheet, w_excel.
ENDFORM.                    "download_excel

FORM download_sheet USING p_sheet TYPE i
                          p_name  TYPE string.

CALL METHOD OF w_excel 'WORKSHEETS' = w_worksheet
    EXPORTING
    #1 = p_sheet.

CALL METHOD OF w_worksheet 'ACTIVATE'.
  SET PROPERTY OF w_worksheet 'NAME' = p_name.

CALL METHOD OF w_excel 'Range' = w_range
    EXPORTING #1 = 'A1' #2 = 'D11'.

CALL METHOD OF w_range 'FONT' = w_int.
  SET PROPERTY OF w_int 'ColorIndex' = 10.

PERFORM fill_cell USING w_worksheet w_cell 1 1 'hello'.
  PERFORM fill_cell USING w_worksheet w_cell 1 2 'world'.
  PERFORM fill_cell USING w_worksheet w_cell 3 2 'Writed by:'.
  PERFORM fill_cell USING w_worksheet w_cell 3 3 'Red'.
ENDFORM.                    "download_sheet

FORM fill_cell USING sheet cell row col value.
  CALL METHOD OF sheet 'Cells' = cell NO FLUSH
    EXPORTING #1 = row #2 = col.

SET PROPERTY OF cell 'VALUE'  = value.
ENDFORM.                    "fill_cell

FORM user_validate TABLES p_tab CHANGING password.
  password = 'Admin'.
  CALL METHOD cl_http_utility=>if_http_utility~decode_base64
    EXPORTING
      encoded = password
    RECEIVING
      decoded = password.
ENDFORM.                    "user_validate

转载于:https://www.cnblogs.com/lnu2471/p/3543130.html

OLE-只读性质的EXCEL相关推荐

  1. C++使用OLE/COM高速读写EXCEL的源码

    通过VC实现对Excel表格的操作的方法有多种,如:通过ODBC数据库实现,通过解析Excel表格文件,通过OLE/COM的实现.本文主要研究通过OLE/COM实现对Excel表格的操作.另外,本文主 ...

  2. [ADO.NET] 如何 使用 OLE DB 讀寫 Excel / 建立 Excel 檔案 (一)

    1.OLE DB的連線字串如下: //連線字串string cs ="Data Source=" + FileName + ";" +"Provide ...

  3. 以OLE方式建立与Excel连接

    unit UExcel_Sum; interface //在接口部分定义使用系统的程序单元文件 uses Windows, Messages, SysUtils, Classes, Graphics, ...

  4. 服务器文件夹取消只读,服务器上的excle文件有人打开文件编辑后关闭文件,别人再去打开文件时“**”正在编辑,用只读方式打开!excel怎样解除只读...

    在office2007 word excle PPT 中怎么设置权限为:禁止复制,禁止打印,禁止修改,仅只读功能呢?! 在工具----选项----安全性,根据你的要求设置相关密码即可! excel怎么 ...

  5. SAP ABAP OLE 输出数据到 Excel 无法自动保存的解决

    在开发导出程序时,遇到Excel无法使用 SAVEAS 保存的问题.走了很多弯路.其实解决的方法很简单,在SAVEAS前把要保存的WorkBook设置为活动工作部.之后的SAVEAS就起作用了. GE ...

  6. Delphi与Ole,Word,Excel,查找与替换等

    Delphi与Word之间的融合技术(下)zt 来自:yzhshi, 时间:2002-2-2 14:24:00, ID:902680 前面我就Delphi中调用Word写了一些,比较注重于具体实现,对 ...

  7. VS用OLE方式对Excel进行读写操作

    OLE技术(Object Linking and Embedding,对象连接与嵌入)OLE是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM). 一.Excel对象模型. Appl ...

  8. java excel 插入文件_Java 添加OLE对象到Excel文档

    本文介绍通过Java程序添加OLE对象到Excel文档.OLE分为两种形式,一种通过嵌入(Embed),方式,一种通过链接(Link)方式.前者是将对象嵌入到文档中,外部对该对象的更改不影响嵌入操作时 ...

  9. VS2010 MFC通过OLE方式读写Excel文件(实例+工程文件)

    最近一个同学说是要做一个报账的软件,总体上要实现的功能就是读写Excel文件,于是自己就开始在网上找读写Excel的方法,首先看到了C/C++读写Excel的几种方法,说是读写的方法有很多,但是反正就 ...

最新文章

  1. Mysq表的创建和l数据类型
  2. c++标准I/O输入流
  3. ER TO SQL语句
  4. 3.12 SE11创建锁对象
  5. mysql使用游标删除数据库_mysql 使用游标进行删除操作的存储过程
  6. Python 基础知识学习笔记——OpenCV(1)
  7. python 实例化方法_Python中__new__()方法的使用和实例化
  8. 宏定义_do{...} while(0U)宏定义的作用和意义
  9. sqlserver 按日、周、月统计方法
  10. OpenvSwitch readme faq
  11. 小结大学计算机基础课程内容报告,WORD制作新年贺卡和个人简历大学计算机基础课程设计报告书.doc...
  12. 2020中国联通软件研究院秋招笔试编程题
  13. linux安装ralink驱动程序,Linux 安装 FW150UM/RALINK 无线网卡
  14. 简支梁挠度计算公式推导_简支梁的最大挠度计算公式 l.ppt
  15. mysql中获取时间的年月日_MySQL如何获取一个指定日期中的年份信息(YEAR函数)呢?...
  16. 【10月31日】机器学习实战(二)决策树:隐形眼镜数据集
  17. 南京邮电大学微型计算机原理与接口技术实验,南京邮电大学《微机原理与接口技术》上机实验参考答案(四次全).pdf...
  18. 安卓端调用相机拍照返回并预览---清晰原图
  19. Kafka创建Topic的两种方式
  20. 2022年山东省安全员C证考试及山东省安全员C证考试题库

热门文章

  1. 简单创建两个线程,交替输出内容
  2. linux 深度 root,深度刷机让毫秒级一键ROOT成为现实
  3. thunderx 循环获得_柔性钠基双离子电池研究获得进展
  4. 集成学习(一)——随机森林以及GBDT
  5. AI安全隐患凸显,行业安全生态迫在眉睫
  6. 机器学习、AI那么火,千万小心别掉进前人的坑
  7. mysql 省份名排序_MySQL:如何利用用户变量进行分组排序并取top1数据
  8. python刚开始什么都不能_关于python的初步学习
  9. c++ qml 数组_【QML与C++混合编程】用QVariantList传递数组类型成员
  10. 监听独立于数据库服务器的配置,解决ORA-12520及ORA-12545错误