【问题标题】:Cell.Formula gives #name error until user selects formulaCell.Formula 给出#name 错误,直到用户选择公式
【发布时间】:2015-09-23 17:53:09
【问题描述】:

在我的程序中,我创建了一个 Excel 文件,其中的公式包含对表 (listobject) 的引用。打开生成的 excel 文件时,公式会显示 #NAME? 错误,直到用户选择公式并再次退出。

首先我会这样做:

worksheet.Cells["A2"].Formula = "=INDEX(personData, MATCH(B2, personData[displayName]), 0)";
workbook.CalculateFormula();

当我在 excel 中打开生成的工作簿时,A2 的公式在大小写上略有变化:

=INDEX(PERSONDATA,MATCH(B2,personData[displayName]),0)

当聚焦公式并再次退出时,公式变为

=INDEX(personData,MATCH(B2,personData[displayName]),0)

大写的来源是什么?
我错过了什么?

更新
我已经能够将问题缩小到以下事实:当引用的表位于公式之外的另一个选项卡上时,公式会中断。当我将它移到同一个选项卡时,一切都按预期工作。
将 aspose.cells 库更新到最新版本的 aspose.cells (8.6.0.0) 并没有帮助。 向引用的 (lookup!personData) 名称添加选项卡引用无效。

按要求在 Aspose 论坛上发布短文和示例代码: http://www.aspose.com/community/forums/permalink/658097/658097/showthread.aspx#658097

【问题讨论】:

    标签: aspose-cells


    【解决方案1】:

    在我看来是 Aspose.Cells 的一个错误。请尝试最新版本:Aspose.Cells for .NET 8.5.2(从 Aspose 网站下载)应该可以解决这个问题。还请在 Aspose.Cells 论坛上发布此问题以及您的示例 excel 文件,以便我们可以运行您的代码并找出问题的根本原因。

    大多数情况下,这样的错误意味着 Aspose.Cells 无法计算公式。您能否也将您的工作簿保存为 PDF 格式,看看它是否显示正确的值或错误。

    注意:我在 Aspose 担任开发人员宣传员

    【讨论】:

    • 感谢您的回复。我认为我们的公司许可证不涵盖 v8,因此更新可能需要一些时间。没有原始工作簿,因为它是从代码创建的。还是你的意思是结果?
    • 我已经能够将问题缩小到 listobject 在另一个选项卡上这一事实。会更新OP
    • 在我看来是某种错误,但我们不确定。您能否在论坛中向我们提供您可以复制此问题的简单示例可运行代码/项目。如果错误是可以修复的,我们会建议您更改代码,如果是错误,我们会将其记录在我们的数据库中以进行修复。谢谢。
    • 谢谢。 Babar Raza(aspose 支持开发人员)发现并记录了您的问题。一旦,我们将为您更新或修复,我们会尽快更新您。
    猜你喜欢
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2016-12-11
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    相关资源
    最近更新 更多