关于 全局函数 组件的使用及 函数返回值 接收问题

关于全局函数组件的使用

全局函数组件的位置

鼠标右键—> 程序—> 其他—> 全局函数

全局函数的配置及使用

1. 点击如图红色框体部分(任选其一)
关于 全局函数 组件的使用及 函数返回值 接收问题

2. 进入下图界面,并将需要用到的模块和包进行导入,
关于 全局函数 组件的使用及 函数返回值 接收问题

以下为 创建 excel 文件 相关代码,如需使用,请自行变更创建目录函数中的文件目录

#引用模块
import datetime
import xlrd, xlwt
import re
from xlutils.copy import copy as xl_copy
import xlwt
import os

# 创建文件
def createxcel():
  # 表头信息,可自定制
  header = [u'下单日期', u'出发时间', u'出发时段', u'上车地点', u'下车地点', u'乘客名', u'司机信息', u'口岸', u'车队', u'是否8座', u'支付渠道', u'支付金额', u'车队报价', u'备注', u'备注2', u'订单来源']
  # 创建的文件夹路径
  creat_path = create_dir()
  # //查看当前路径
  os.getcwd()
  # //更改至相应路径下
  os.chdir(creat_path)
  # 新建文件名
  file_name = datetime.datetime.now().date().strftime('%Y%m%d') + '.xls'
  # 创建文件路径
  f_path = creat_path + '\\' + file_name
  # 执行时 通过 exists 函数判断文件是否存在 --如果不存在,新建文件
  if os.path.exists(file_name) == False:
	  file = xlwt.Workbook()
	  Sheet_name = file.add_sheet('sheet1')
	  row0 = header
	  for i in range(0, len(row0)):
		  Sheet_name.write(0, i, row0[i])
	  file.save(file_name)
  # 如果存在,在该文件中新建一个sheet页
  else:
	  Sheet_name = creat_sheetname(f_path, header)
  # 通过 realpath 获取文件全路径
  file_path = os.path.realpath(file_name)
  # print('路径creat_path:',creat_path)
  # print('文件路径file_path:',file_path)
  # 返回文件全路径,文件夹路径,sheet页名称
  return file_path, creat_path, Sheet_name
  
  
# 创建目录
def create_dir():

  # 定义文件夹名称
  folder_name = datetime.datetime.now().date().strftime('%Y%m%d')
  # 自定义路径
  newdir = r"C:\Users\Jiang Yudong\Desktop\danfosi" + '\\' + folder_name
  # 判断路径是否存在 如果不存在,新建文件夹
  if not os.path.exists(newdir):
	  os.makedirs(newdir)
  # print(newdir)
  # print('文件夹路径newdir:',newdir)
  return newdir
  
  
# 创建 sheet
def creat_sheetname(f_path, header):

  # 定义一个默认数字
  num = 0
  # open existing workbook
  rb = xlrd.open_workbook(f_path)
  # 获取所有sheet
  sheet_list = rb.sheet_names()
  # 获取页码
  num = re.sub("\D", "", sheet_list[-1])
  # make a copy of it
  wb = xl_copy(rb)
  # 新定义sheet名
  num_sh = int(num) + 1
  sheet_name = 'sheet' + str(num_sh)
  # add sheet to workbook with existing sheets
  Sheet_name = wb.add_sheet(sheet_name)
  # 填写表头信息
  row0 = header
  for i in range(0, len(row0)):
	  Sheet_name.write(0, i, row0[i])
  # 保存文件
  wb.save(f_path)
  # 将sheet 页名称返回
  return sheet_name 

将全局函数进行编译后,回到流程中,选择自定义的函数
关于 全局函数 组件的使用及 函数返回值 接收问题

关于 全局函数 组件的使用及 函数返回值 接收问题

直接运行当前流程 h 或右键运行当前组件
关于 全局函数 组件的使用及 函数返回值 接收问题

全局函数返回值的接收问题

全局函数返回 单个值 的处理

全局函数的接收需要一个流程变量来接收,后续流程可以直接调用该变量
关于 全局函数 组件的使用及 函数返回值 接收问题

全局函数返回 多个值 的处理

这里的多个值不单指 字符串 / 数字 类型数据,还可以是列表、元组等其他数据类型数据

多个值的接收,同样需要一个流程参数来接收,与单个值不同的是,多个值返回的数据为列表类型,接收的流程参数需要通过 ‘设置变量’ 组件拆分成单项数据,并用流程参数接收
设置变量组件的位置
鼠标右键—> 程序—> 其他—> 设置变量

关于 全局函数 组件的使用及 函数返回值 接收问题