调用wps表格中的 内置函数获取相关数据 单元格获取相关数据 选中区域获取相关数据 不需要借助js宏代码

动作开发 · 537 次浏览
涛涛涛 创建于 1天2小时前
调用wps表格中的 内置函数获取相关数据  单元格获取相关数据  选中区域获取相关数据  不需要借助js宏代码
 
理论上Office Excel表格也可以使用(想用的可以实验测试一下)
使用的是Evaluate()方法
Run方法也可以得到同样的效果,但Run在运行函数时,我觉得它好像调用了两次函数代码
最好这样使用Run方法:Run("g","参数"),不要这样:Run("g('参数')")
(1)获取选中数据时              格式如:  1  或者 留空          
(2)获取单元格数据时           格式如:   a1:b5
(3)获取wps内置函数数据时 格式如: SUM(F2:F5)
 
 
 
// Quicker的C#代码
//.cs  文件类型,便于外部编辑时使用
// 引用必要的命名空间
using Excel = Microsoft.Office.Interop.Excel;
using Newtonsoft.Json;
 
// Quicker将会调用的函数。可以根据需要修改返回值类型。
public static void Exec(Quicker.Public.IStepContext context)
{
    Excel.Application excelApp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
    var oldValue =(String)context.GetVarValue("g1");  // 读取动作里的变量值
    object b1;//声明在判断外,在判断里用
    if(oldValue=="1"){
    //获取选中单元格的值,显示转化用【as】进行转换(excelApp.Selection as Excel.Range)
    var ww=(Excel.Range)excelApp.Selection;
    //好像不写Excel.Range不行,需要分开写,直接写好像excelApp.Selection.Value2获取不到数据
    b1=ww.Value;
    }else{
    b1=excelApp.Evaluate(oldValue);
    }
    string aa=JsonConvert.SerializeObject(b1);
    context.SetVarValue("g2", aa);
}
 
涛涛涛 最后更新于 2025/6/28

回复内容
暂无回复
回复主贴