.net dataexcel 脚本公式 函数源码

示例如:

ScriptExec(""sum(1, 2, 3, 4)"") 结果等于10

using Feng.Excel.Builder;
using Feng.Excel.Collections;
using Feng.Excel.Interfaces;
using Feng.Script.CBEexpress;
using Feng.Script.Method;
using System;
using System.Collections.Generic;
using System.Drawing;namespace Feng.Excel.Script
{[Serializable]public class ScriptFunctionContainer : DataExcelMethodContainer{public const string Function_Name = "DataExcelScript";public const string Function_Description = "脚本函数";public override string Name{get { return Function_Name; }}public override string Description{get { return Function_Description; }}public ScriptFunctionContainer(){BaseMethod model = null;model = new BaseMethod();model.Name = "ScriptExec";model.Description = "执行脚本";model.Eg = @"=ScriptExec(""sum(1, 2, 3, 4)"") 结果等于10";model.Function = ScriptExec;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptIF";model.Description = "第一参数为True返回第二个参数,否则返加第三个参数";model.Eg = @"ScriptIF(1>2,10,30)结果等于30";model.Function = ScriptIF;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptIsNull";model.Description = "第一参数为null返回第二个参数,否则返加第一个参数";model.Eg = @"ScriptIsNull(null,1)";model.Function = ScriptIsNull;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptArg";model.Description = @"获取或设置参数 ScriptArg(""argname"")";model.Eg = @"ScriptArg(""argname"")";model.Function = ScriptArg;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptExecG";model.Description = @"在传第一个参数表格上执行脚本 ScriptExecG(grid)";model.Eg = @"ScriptExecG(grid)";model.Function = ScriptExecG;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptSaveContext";model.Description = @"保存当前执行上下文 ScriptSaveContext()";model.Eg = @"var context=ScriptSaveContext()";model.Function = ScriptSaveContext;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptReStoreContext";model.Description = @"还原当前上下文 ScriptReStoreContext(context)";model.Eg = @"ScriptReStoreContext(context)";model.Function = ScriptReStoreContext;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptSwitchContext";model.Description = @"切换当前上下文 ScriptSwitchContext(grid,cell)";model.Eg = @"ScriptSwitchContext(grid,cell)";model.Function = ScriptSwitchContext;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptCellValueChanged";model.Description = @"获取或设置单元格值变化时脚本 ScriptCellValueChanged(cell,script)";model.Eg = @"ScriptCellValueChanged(cell,script)";model.Function = ScriptCellValueChanged;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptCellClick";model.Description = @"获取或设置单元格单击时脚本 ScriptCellClick(cell,script)";model.Eg = @"ScriptCellClick(cell,script)";model.Function = ScriptCellClick;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptCellDoubleClick";model.Description = @"获取或设置单元格双击时脚本 ScriptCellDoubleClick(cell,script)";model.Eg = @"ScriptCellDoubleClick(cell,script)";model.Function = ScriptCellDoubleClick;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptCellKeyDown";model.Description = @"获取或设置单元格键盘按下时脚本 ScriptCellKeyDown(cell,script)";model.Eg = @"ScriptCellKeyDown(cell,script)";model.Function = ScriptCellKeyDown;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptCellKeyUp";model.Description = @"获取或设置单元格键盘抬起时脚本 ScriptCellKeyUp(cell,script)";model.Eg = @"ScriptCellKeyUp(cell,script)";model.Function = ScriptCellKeyUp;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridEndEdit";model.Description = @"获取或设置表格结束编辑时脚本 ScriptGridEndEdit(grid,script)";model.Eg = @"ScriptGridEndEdit(grid,script)";model.Function = ScriptGridEndEdit;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridLoadCompleted";model.Description = @"获取或设置表格加载结束时脚本 ScriptGridLoadCompleted(grid,script)";model.Eg = @"ScriptGridLoadCompleted(grid,script)";model.Function = ScriptGridLoadCompleted;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridClick";model.Description = @"获取或设置表格单击脚本 ScriptGridClick(grid,script)";model.Eg = @"ScriptGridClick(grid,script)";model.Function = ScriptGridClick;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridDoubleClick";model.Description = @"获取或设置表格双击脚本 ScriptGridDoubleClick(grid,script)";model.Eg = @"ScriptGridDoubleClick(grid,script)";model.Function = ScriptGridDoubleClick;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridValueChanged";model.Description = @"获取或设置表格值改变时脚本 ScriptGridValueChanged(grid,script)";model.Eg = @"ScriptGridValueChanged(grid,script)";model.Function = ScriptGridValueChanged;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridKeyDown";model.Description = @"获取或设置表格键按下时脚本 ScriptGridKeyDown(grid,script)";model.Eg = @"ScriptGridKeyDown(grid,script)";model.Function = ScriptGridKeyDown;MethodList.Add(model);model = new BaseMethod();model.Name = "ScriptGridKeyUp";model.Description = @"获取或设置表格键抬起时脚本 ScriptGridKeyUp(grid,script)";model.Eg = @"ScriptGridKeyUp(grid,script)";model.Function = ScriptGridKeyUp;MethodList.Add(model);}public virtual object ScriptGridKeyUp(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyKeyUp;}string script = base.GetTextValue(2, args);cell.PropertyKeyUp = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridKeyDown(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyKeyDown;}string script = base.GetTextValue(2, args);cell.PropertyKeyDown = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridValueChanged(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyValueChanged;}string script = base.GetTextValue(2, args);cell.PropertyValueChanged = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridDoubleClick(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyDoubleClick;}string script = base.GetTextValue(2, args);cell.PropertyDoubleClick = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridClick(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyClick;}string script = base.GetTextValue(2, args);cell.PropertyClick = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridLoadCompleted(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyDataLoadCompleted;}string script = base.GetTextValue(2, args);cell.PropertyDataLoadCompleted = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptFormClosing(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyFormClosing;}string script = base.GetTextValue(2, args);cell.PropertyFormClosing = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptGridEndEdit(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){DataExcel cell = base.GetArgIndex(1, args) as DataExcel;if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyEndEdit;}string script = base.GetTextValue(2, args);cell.PropertyEndEdit = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptCellKeyUp(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){ICell cell = base.GetCell(1, args);if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyOnKeyUp;}string script = base.GetTextValue(2, args);cell.PropertyOnKeyUp = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptCellKeyDown(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){ICell cell = base.GetCell(1, args);if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyOnKeyDown;}string script = base.GetTextValue(2, args);cell.PropertyOnKeyDown = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptCellDoubleClick(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){ICell cell = base.GetCell(1, args);if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyOnDoubleClick;}string script = base.GetTextValue(2, args);cell.PropertyOnDoubleClick = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptCellClick(params object[] args){  Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){ICell cell = base.GetCell(1, args);if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyOnClick;}string script = base.GetTextValue(2, args);cell.PropertyOnClick = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptCellValueChanged(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){ICell cell = base.GetCell(1, args);if (cell == null){return Feng.Utils.Constants.Fail;}if (args.Length == 2){return cell.PropertyOnCellValueChanged;}string script = base.GetTextValue(2, args);cell.PropertyOnCellValueChanged = script;return Feng.Utils.Constants.OK;}return null;}public virtual object ScriptArg(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){string key = base.GetTextValue(1, args);if (args.Length == 3){object value = base.GetArgIndex(2, args);proxy.SetKeyValue(key, value);return Feng.Utils.Constants.OK;}return proxy.GetKeyValue(key);}return null;}public virtual object ScriptIsNull(params object[] args){if (args.Length > 1){object value1 = args[1];object value2 = args[2];if (value1 == null){return value2;}else{return value1;}}return null;}public virtual object ScriptIF(params object[] args){if (args.Length > 2){object value1 = args[1];object value2 = args[2];object value3 = args[3];bool res = Feng.Utils.ConvertHelper.ToBoolean(value1);if (res){return value2;}else{return value3;}}return null;}public virtual object ScriptExec(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){string txt = base.GetTextValue(1, args);int len = args.Length - 2;if (len > 0){object[] values = new object[len];for (int i = 0; i < len; i++){values[i] = args[i + 2];}return ScriptBuilder.Exec(proxy.Grid, proxy.CurrentCell, txt, values);}return ScriptBuilder.Exec(proxy.Grid, proxy.CurrentCell, txt);}return null;}public virtual object ScriptExecG(params object[] args){DataExcel grid = base.GetArgIndex(1, args) as DataExcel;string txt = base.GetTextValue(2, args);int len = args.Length - 3;if (len > 0){object[] values = new object[len];for (int i = 0; i < len; i++){values[i] = args[i + 3];}return ScriptBuilder.Exec(grid, null, txt, values);}return ScriptBuilder.Exec(grid, null, txt);}public virtual object ScriptSaveContext(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){Feng.Collections.HashtableEx scriptContext = new Feng.Collections.HashtableEx();scriptContext.Add("Grid", proxy.Grid);scriptContext.Add("Cell", proxy.CurrentCell);return scriptContext;}return null;}public virtual object ScriptReStoreContext(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){Feng.Collections.HashtableEx scriptContext = base.GetArgIndex(1, args) as Feng.Collections.HashtableEx;if (scriptContext != null){proxy.Grid = scriptContext["Grid"] as DataExcel;proxy.CurrentCell= scriptContext["Cell"] as ICell;return Feng.Utils.Constants.OK;}}return Feng.Utils.Constants.Fail;}public virtual object ScriptSwitchContext(params object[] args){Feng.Excel.Script.DataExcelScriptStmtProxy proxy = args[0] as Feng.Excel.Script.DataExcelScriptStmtProxy;if (proxy != null){proxy.Grid = base.GetArgIndex(1, args) as DataExcel;proxy.CurrentCell = base.GetArgIndex(2, args) as ICell;return Feng.Utils.Constants.OK; }return Feng.Utils.Constants.Fail;}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB R2023b下载安装教程汉化中文版设置

MATLAB R2023b下载安装教程汉化中文版设置 Matlab 是一款功能强大的商业数学软件 Matlab&#xff08;Matrix Labortory&#xff09;即矩阵实验室&#xff0c;它在数值计算、数据分析、算法开发、建模与仿真等众多领域都发挥着重要作用。 Matlab 具有以下显著特点和优势&…

TYPE-C接口PD取电快充协议芯片ECP5701:支持PD 2.0和PD 3.0(5V,9V,12V,15V,20V)

随着智能设备的普及&#xff0c;快充技术成为了越来越多用户的刚需。而TYPE-C接口作为新一代的USB接口&#xff0c;具有正反插、传输速度快、充电体验好等优点&#xff0c;已经成为了快充技术的主要接口形式。而TYPE-C接口的PD&#xff08;Power Delivery&#xff09;取电快充协…

MySQL学习记录 —— 이십삼 MySQL服务器文件系统(3)

文章目录 1、数据字典2、系统表各种系统表 Mysql Schema是⼀个系统库&#xff0c;表中存储了MySQL服务器运行时所需的信息。广义上&#xff0c;mysql schema包含存储MySQL程序基本数据的数据字典和用于其他操作目的的系统表。数据字典表和系统表位于数据目录下一个名为mysql.ib…

角点检测及MATLAB实现

一、角点简介 角点通常指的是两条直线构成角时的交点。‌在更广泛的应用中&#xff0c;‌角点这一概念也被扩展到数字图像处理领域&#xff0c;‌其中角点被定义为图像中物体轮廓线的连接点&#xff0c;‌这些点在某方面属性特别突出&#xff0c;‌即在某些属性上强度最大或者最…

为什么不要碰自媒体

要是失业了&#xff0c;搞自媒体&#xff0c;可行吗&#xff1f;毫无希望&#xff01; 如今的自媒体早卷得不成样子了&#xff0c;很难再有机会&#xff0c;根本原因在于几乎没有增量用户的同时&#xff0c;存量用户也不再有剩余时间&#xff0c;全量用户的时间早已被几个自媒…

空间计算开发:Volu的集成开发工具包

在空间计算技术迅速发展的今天,VR和AR项目的开发需求日益增长。Volu,一个面向空间计算赛道的开发者工具,正致力于简化这一过程。本文将深入探讨Volu如何通过其集成环境,为开发者提供一站式的解决方案。 一、定位:空间计算的得力助手 Volu定位为一个专为空间开发设计的集…

verilog基础语法入门

文章目录 前言一、模块定义1. 模块声明2. 端口定义3. 信号类型声明4. 逻辑功能定义 二、运算符与表达式1. 算术运算符2. 逻辑运算符3. 位运算符4. 关系运算符5. 等式运算符6. 缩减运算符7. 移位运算符8. 条件运算符9. 位拼接运算符 三、语句1. 赋值语句2. 块语句3. 条件语句4. …

HarmonyOS NEXT学习——@Styles、@Extend、stateStyles

Styles装饰器 定义组件重用样式 仅支持通用属性和通用事件不支持参数可以定义全局和组件内使用&#xff0c;全局使用需要加function // 全局 Styles function functionName() { ... }// 在组件内 Component struct FancyUse {Styles fancy() {.height(100)} }组件内Styles的优…

C# 之工控机数据类型 高低位(大小端)、BitConverter、IsLittleEndian、字节数组转换(高低位)

八种基本数据类型&#xff1a;byte、short、int、long、float、double、boolean、char byte 8位、有符号的以二进制补码表示的整数 min : -128&#xff08;-2^7&#xff09; max: 127(2^7-1) default: 0 对应包装类&#xff1a;Byte short 16位、有符号的以二进制补码表示…

keil中GD32 MCU IAP中APP的存储地址如何设置?

前面和大家聊过什么是IAP&#xff0c;那么IAP中APP的存储地址该如何设置呢&#xff1f; 以keil为例&#xff0c;打开工程的option选项卡&#xff1a; 将IROM1中的地址改为你想要保存的位置&#xff0c;比如0x08008000开始的位置&#xff1a; 这样通过keil烧录&#xff0c;程序…

光伏电站设计的关键部分

光伏设计&#xff0c;作为光伏发电项目成功实施的前提与基础&#xff0c;其科学性与合理性直接关乎项目的发电效率、经济性及环境适应性。本文将从选址规划、系统设计、组件选型、电气布局及运维考虑等几个方面&#xff0c;探讨光伏设计的关键部分。 一、选址踏勘 光伏项目踏勘…

钡铼Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP、OPC UA分布式IO系统BL20X系列耦合器

BL20X系列耦合器是钡铼技术开发的一款用于分布式I/O系统的设备&#xff0c;专为工业环境下的高速数据传输和远程设备控制而设计&#xff0c;支持多种工业以太网协议&#xff0c;包括Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP和OPC UA等。如果您正在考虑部署BL20X系列耦合…

c++人脸识别项目,满足工业界对于人脸识别系统的高标准需求!(一)

目录 引言&#xff1a; 环境构建&#xff08;本文使用cmake&#xff0c;开发环境ubuntu22.04&#xff0c;IDE为clion&#xff09; 项目文件构造 CMakeLists.txt编写 简单头文件 最初成员函数实现 add函数实现思路 search函数实现思路 main函数简单实现 思路 添加环…

Spring Boot集成qwen:0.5b实现对话功能

1.什么是qwen:0.5b&#xff1f; 模型介绍&#xff1a; Qwen1.5是阿里云推出的一系列大型语言模型。 Qwen是阿里云推出的一系列基于Transformer的大型语言模型&#xff0c;在大量数据&#xff08;包括网页文本、书籍、代码等&#xff09;进行了预训练。 硬件要求&#xff1a;…

Spring Web MVC入门(2)(请求2)

目录 1.传递JSON数据 传递JSON对象 2.获取URL中的参数PathVariable 3.上传文件RequestPart 4.获取Cookie/Session (1)获取Cookie 简洁获取Cookie (2)获取Session Sesson读取 简洁获取Session(1) 简洁获取Session(2) 5.获取Header 简洁获取Header 1.传递JSON数据 J…

大模型计算及GPU相关概念记录

浮点运算 算力最基本的计量单位是 FLOPS&#xff0c;英文 Floating-point Operations Per Second&#xff0c;即每秒执行的浮点运算次数。浮点运算其实就是带小数的加减乘除运算。 算力的计量单位&#xff0c;除了 FLOPS&#xff0c;从小到大还有&#xff1a; KFLOPS&#x…

新建一个git仓库并且把已有项目推送到git远程仓库

总贴 1. 创建一个空项目&#xff0c;不会看新建仓库 2. 克隆这个项目到某个文件夹去&#xff0c;比如我想克隆到我的E盘的code下面 3. 我的这个文件夹下面是有东西的&#xff0c;一点都不影响 . 4. 用命令行进入这个文件夹 命令行已经显示了已经在E盘下面code文件夹, 不会…

【TortoiseGitPlink提示输入密码解决方法】

问题&#xff1a;TortoiseGitPlink提示输入密码 解决方案 参考链接&#xff1a;TortoiseGitPlink提示输入密码解决方法 但后半部分和上文不同&#xff0c;点击图中 Load Putty Key 即可。

CrowdStrike更新导致蓝屏事件

1. 事件描述 网络上发现大量企业Windows系统主机出现BSOD&#xff08;Bluescreen of Death&#xff09;并循环重启。 观察蓝屏信息&#xff0c;发现造成蓝屏的程序均是csagent.sys&#xff0c;该程序为CrowdStrike终端安全软件组件。 经确认&#xff0c;CrowdStrike是造成本…

第5章 单片机的中断系统

5.1 中断的概念 5.2 中断控制系统 5.3 中断处理过程 5.4 中断的编程及应用举例 5.1 中断的概念 日常生活的中断现象举例 中断是指在突发事件到来时先中止当前正在进行的工作&#xff0c;转而去处理突发事件。待处理完成后&#xff0c;再返回到原先被中止的工作处&#xff…