【问题标题】:Warning message while replacing Excel cell values in C# windows application在 C# windows 应用程序中替换 Excel 单元格值时出现警告消息
【发布时间】:2012-10-17 16:45:39
【问题描述】:

我将 C# 中的 excel 单元格值替换为以下代码,但如果找不到特定字段,则会显示以下警告对话框。

代码是这样的:

xlWorkSheet.Cells.Replace(
     "CustomerName", 
     "John", 
     missingValue, 
     missingValue, 
     missingValue, 
     missingValue, 
     missingValue, 
     missingValue);

因此,如果任何 Excel 单元格中都不存在“CustomerName”,则会显示以下消息:

Microsoft Office Excel

Microsoft Office Excel 找不到任何要替换的数据。检查您的 搜索格式和条件定义正确。如果你确定 此工作簿中存在匹配的数据,它可能位于受保护的 床单。 Excel 无法替换受保护工作表上的数据。

我需要停止弹出这个对话框,因为我有很多可以有字段或没有字段的单元格。

有答案吗?

【问题讨论】:

标签: c# .net vb.net excel replace


【解决方案1】:

Application.DisplayAlerts = False

然后再打开:

Application.DisplayAlerts = true

【讨论】:

    【解决方案2】:

    您能先检查工作表中的“CustomerName”值吗?

    快速谷歌搜索发现这个: http://msdn.microsoft.com/en-us/library/e4x1k99a(v=vs.80).aspx

    如果您在同一个工作表中有值,请调用替换代码并且不会显示任何对话框。

    【讨论】:

    • 我在工作表中没有值,如果它的工作正常,但如果值不存在而不是生成警告消息,我想停止这个减弱的消息,因为我正在替换一些不在 excel 中但将来会出现的字段。
    • 对不起,如果我不清楚。我的建议是:首先检查要替换的值是否在工作表中,然后通过调整链接中的代码进行替换。如果要替换的值不在工作表中[因为尚未添加],请不要调用替换代码,您将不会出现警告。最终添加时,链接中代码的适配会指出它存在于工作表中,然后调用替换代码。从理论上讲,这将防止对不存在的值进行不必要的替换调用并且没有警告。
    • 你是对的,但我有 4 - 5 个 Excel 模板,其中一些字段在每个工作表中重复,而一些工作表包含所有字段。这就是为什么我为每个案例调用替换代码
    猜你喜欢
    • 2012-10-17
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    • 2022-10-14
    • 1970-01-01
    相关资源
    最近更新 更多