gpt4 book ai didi

c# - 使用 C# Excel Interop 在 Excel 中计算用户定义的函数

转载 作者:太空宇宙 更新时间:2023-11-03 16:38:27 25 4
gpt4 key购买 nike

我正在尝试直接从 C# 加载项,这样当我打开工作簿并执行 Workbook.Calculate() 时,外部加载项中定义的 UDF(用户定义函数)可以在工作表中正确计算。目前,我正在遍历每个添加和简单设置:

AddIn.Installed = true

这是行不通的。 C# 根本不加载加载项,我想避免使用 VBA。我想打开一个工作簿,一个加载了特定添加项的 Excel 工作簿,进行完整计算,并且应该更新工作表的所有值,包括带有 UDF 的单元格。

感谢您的帮助....

部分代码:

Excel.Workbook wkbk = ExcelApp.ActiveWorkbook;

Excel.XlFixedFormatType paramExportFormat = Excel.XlFixedFormatType.xlTypePDF;
Excel.XlFixedFormatQuality paramExportQuality = Excel.XlFixedFormatQuality.xlQualityStandard;
bool paramOpenAfterPublish = false;
bool paramIncludeDocProps = true;
bool paramIgnorePrintAreas = true;
object paramFromPage = Type.Missing;
object paramToPage = Type.Missing;

ExcelApp.Visible = true;
//foreach (Excel.AddIn aiTemp in ExcelApp.AddIns)
//{
// if (aiTemp.Name.Contains(""))
// {
// aiTemp.Installed = false;
// aiTemp.Installed = true;
// }
//}

while (ExcelApp.CalculationState == Microsoft.Office.Interop.Excel.XlCalculationState.xlCalculating)
{
Thread.Sleep(50);
}
ExcelApp.CalculateFull();
var wksht = wkbk.ActiveSheet;
Excel.Range rng = ((Excel.Worksheet)wksht).get_Range("B1", "B1");
rng.Calculate();
//EnsureCalcFinished();

ExcelApp.Visible = false;
wkbk.ExportAsFixedFormat(Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF, PathToDocument.Replace(".xlsx", ".pdf"), paramExportQuality, true, false, Type.Missing, Type.Missing, true,Type.Missing);

最佳答案

更新:我找到了我用来注册 UDF 的方法的链接。

引用:http://msdn.microsoft.com/en-us/library/ms173189(v=vs.80).aspx

在 Excel 中,您需要转到选项 -> 加载项 => Excel 加载项 (Go..) => 自动化 = 选择库并点击确定。一旦你这样做了一次,它就会在你每次打开 excel 时自动加载。

关于c# - 使用 C# Excel Interop 在 Excel 中计算用户定义的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8422821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com