C# 引用Microsoft.Office.Interop.Excel.dll 问题,现在 excelApp.Version的版本为12.0,是否可以升级一下版本为16.0 ,或者是否可以提供一个下载版本

使用问题 · 512 次浏览
涛涛涛 创建于 1天6小时前

在使用c#调用Excel时,发现Excel的一些属性和方法不能使用

使用场景是Formula2属性,公式可以使用动态数组写入单元格内自动扩充


现在Formula 属性,写入公式,不会自动扩充,会有一个=@SEQUENCE(10),只会取第一个数值写入单元格


例如:使用时range1.Formula2 = gg;会报错Formula2不存在,无法运行

//.cs  文件类型,便于外部编辑时使用
// 引用必要的命名空间
using Excel = Microsoft.Office.Interop.Excel;

// Quicker将会调用的函数。可以根据需要修改返回值类型。
public static void Exec(Quicker.Public.IStepContext context)
{
    var gg = context.GetVarValue("函数gs") as string;  // 读取动作里的变量值
    
    Excel.Application excelApp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");

    Excel.Range range1 = excelApp.ActiveCell as Excel.Range;

    range1.Formula2 = gg;
//    range1.Value2=excelApp.Version; // 版本12.0,好像说升到16.0就可以使用了
//    range1.Replace("@", "");

}


回复内容
CL 1天3小时前
#1

目前quicker目录里带的应该是15.0的,我没有找到16.0的版本。这是VisualStudio里带的版本,可能不存在这个版本?

涛涛涛 回复 CL 1天2小时前 :

好的,这是问智谱ai,它给我了一个这样的方式,代码等,可能就是没有这个版本
我换一种方式实现这个东西吧。
wps Excel和微软Excel它们好像真不太一样,一样的代码,结果不太一样,哈哈

回复主贴