一:事物码smw0

二:上传步骤

注:“包”为项目的包的名称。

三:下载代码

*&---------------------------------------------------------------------*
* 初始化
*&---------------------------------------------------------------------*
SELECTION-SCREEN:
FUNCTION KEY ."定义按钮1 *&---------------------------------------------------------------------*
* INITIALIZATION:启动程序开始执行,初始话数据
*&---------------------------------------------------------------------*
INITIALIZATION.
SSCRFIELDS-FUNCTXT_01 = '下载配置导入模板'. AT SELECTION-SCREEN.
"下载模板
CASE SSCRFIELDS-UCOMM.
WHEN 'FC01'.
PERFORM FRM_DOWNLAOD_EXCEL." 下载模板
WHEN OTHERS.
ENDCASE.
*&---------------------------------------------------------------------*
*& Form FRM_DOWNLAOD_EXCEL
*&---------------------------------------------------------------------*
* 下载模板
*----------------------------------------------------------------------*
FORM FRM_DOWNLAOD_EXCEL.
DATA:LV_FNAME TYPE STRING,
LV_INIT_PATH TYPE STRING,
LV_TITLE TYPE STRING,
LV_PATH TYPE STRING," VALUE 'D:/',
LV_FPATH TYPE STRING," VALUE 'D:/',
LV_FILE TYPE RLGRAP-FILENAME. DATA:LV_OBJID TYPE CHAR20,
LS_WDATB LIKE WWWDATATAB,
LV_SUBRC TYPE SY-SUBRC,
LV_MSG TYPE STRING. LV_OBJID = 'ZRMM492'.
LV_FNAME = '配置设计确认导入模板'.
CONCATENATE LV_FNAME '下载' INTO LV_TITLE. "获取桌面路径
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_DESKTOP_DIRECTORY
CHANGING
DESKTOP_DIRECTORY = LV_INIT_PATH
EXCEPTIONS
CNTL_ERROR =
ERROR_NO_GUI =
NOT_SUPPORTED_BY_GUI =
OTHERS = .
IF SY-SUBRC <> .
EXIT.
ENDIF. "保存文件
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
EXPORTING
WINDOW_TITLE = LV_TITLE
DEFAULT_EXTENSION = 'xls'
DEFAULT_FILE_NAME = LV_FNAME
INITIAL_DIRECTORY = LV_INIT_PATH
FILE_FILTER = 'EXCEL文件(*.xls)||全部文件(*.*)||'
PROMPT_ON_OVERWRITE = 'X'
CHANGING
FILENAME = LV_FNAME
PATH = LV_PATH
FULLPATH = LV_FPATH
EXCEPTIONS
CNTL_ERROR =
ERROR_NO_GUI =
NOT_SUPPORTED_BY_GUI =
OTHERS = .
IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
CLEAR:LV_FILE.
LV_FILE = LV_FPATH.
IF LV_FILE IS NOT INITIAL.
"判断文件模板是否存在
SELECT SINGLE
RELID
OBJID
FROM WWWDATA
INTO CORRESPONDING FIELDS OF LS_WDATB
WHERE SRTF2 =
AND RELID = 'MI'
AND OBJID = LV_OBJID. IF LS_WDATB IS INITIAL.
MESSAGE '模板不存在' TYPE 'E'.
ELSE. CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
EXPORTING
KEY = LS_WDATB
DESTINATION = LV_FILE
IMPORTING
RC = LV_SUBRC.
IF LV_SUBRC <> .
MESSAGE '模板下载失败' TYPE 'E'.
ELSE.
CLEAR:LV_MSG.
CONCATENATE '模板下载到本地文件' LV_FILE INTO LV_MSG.
MESSAGE LV_MSG TYPE 'S'.
ENDIF.
ENDIF.
ELSE.
MESSAGE '用户取消操作' TYPE 'S' .
RETURN.
ENDIF.
ENDIF.
ENDFORM. "FRM_DOWNLAOD_EXCEL

sap中Excel的模版上传和下载的更多相关文章

  1. Java中Excel表格的上传与下载

    详见:http://blog.csdn.net/lzh657083979/article/details/73252585

  2. vue实现Excel文件的上传与下载

    一.前言项目中使用到比较多的关于Excel的前端上传与下载,整理出来,以便后续使用或分析他人. 1.前端vue:模板下载与导入Excel 导入Excel封装了子组件,点击导入按钮可调用子组件,打开文件 ...

  3. java对excel表格的上传和下载处理

    Excel表格文件的上传和下载,java中涉及到文件肯定会有io流的知识. 而excel文件就要涉及到poi技术,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为 ...

  4. 终端中管理SVN服务器 上传、下载、更新【原创】

    从服务器下载项目, 下面的命令意思是 将服务器中mycode仓库的内容下载到/Users/apple/Documents/test目录中 我的电脑名叫做MacBook,记得将这个名字改成你们的电脑名字 ...

  5. 在开发框架中使用FTP辅助类上传或者下载文件,方便管理附件内容

    在有些系统应用里面,我们需要对应用服务器.数据库服务器.文件服务器进行分开,文件路径等信息存储在数据库服务器里面,但文件内容则存储在文件服务器里面,通过使用FTP进行文件的上传下载,从而实现更加高效的 ...

  6. 使用MFC WinInet进行FTP中文件的简单上传和下载功能

    建立基于对话框的MFC应用程序CMfcFtpWinInetDlg: 1.首先Dlg类中包含头文件 #include "afxinet.h" 2.添加成员变量:  C++ Code  ...

  7. Apache FtpServer 实现文件的上传和下载

    1 下载需要的jar包 Ftp服务器实现文件的上传和下载,主要依赖jar包为: 2 搭建ftp服务器 参考Windows 上搭建Apache FtpServer,搭建ftp服务器 3 主要代码 在ec ...

  8. C# 文件的上传和下载

    本文主要介绍一下,在APS.NET中文件的简单上传于下载,上传是将文件上传到服务器的指定目录下,下载是从存入数据库中的路径,从服务器上下载. 1.上传文件 (1)页面代码 <table alig ...

  9. ASP.NET 文件上传于下载

    本文主要介绍一下,在APS.NET中文件的简单上传于下载,上传是将文件上传到服务器的指定目录下,下载是从存入数据库中的路径,从服务器上下载. 1.上传文件 (1)页面代码 <table alig ...

随机推荐

  1. python写一个网页翻译器

    import urllib.requesturl='https://fanyi.baidu.com/v2transapi'data={}data['i']=opdata['from']='AUTO'd ...

  2. go golang 判断base64数据 获取随机字符串 截取字符串

    go golang 判断base64数据 获取随机字符串 截取字符串 先少写点,占个坑,以后接着加. 1,获取指定长度随机字符串 func RandomDigits(length int) strin ...

  3. 51Nod 1080 两个数的平方和(数论,经典题)

    1080 两个数的平方和 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 给出一个整数N,将N表示为2个整数i j的平方和(i <= j),如果 ...

  4. [bzoj1242] Zju1015 Fishing Net弦图判定

    弦图判定..MCS算法. 先选一个点,然后每次拿 相邻已选点最多 的未选点. 选完之后判断一下是否是完美消除序列. #include<cstdio> #include<iostrea ...

  5. BASH 学习笔记小结

    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在 ...

  6. c语言优化

    虽然对于优化C代码有很多有效的指导方针,但是对于彻底地了解编译器和你工作的机器依然无法取代,通常,加快程序的速度也会加大代码量.这些增加的代码也会影响一个程序的复杂度和可读性,这是不可接受的,比如你在 ...

  7. line-height相关总结

    line-height http://cindylu520.iteye.com/blog/670512 四个boxes containing boxes inline boxes 匿名inline b ...

  8. Spark算子--union、intersection、subtract

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/252bcc1d1ab30c430d347279d5827615.html union.intersection ...

  9. 2.移植3.4内核-使内核支持烧写yaffs2

    在上章-制作文件系统,并使内核成功启动jffs2文件系统了 本章便开始使内核支持烧写yaffs2文件系统 1.首先获取yaffs2源码(参考git命令使用详解) cd /work/nfs_root g ...

  10. Java hashtable和hastmap的区别

    1. 继承和实现区别 Hashtable是基于陈旧的Dictionary类,完成了Map接口:HashMap是Java 1.2引进的Map接口的一个实现(HashMap继承于AbstractMap,A ...