【问题标题】:How to Check if an Excel Cell of Type Data Date is empty?如何检查类型数据日期的 Excel 单元格是否为空?
【发布时间】:2019-07-02 19:43:31
【问题描述】:

情况: 我遇到了一个让我发疯的问题。我有一个 Excel 文件,我将其上传到我的 C# 应用程序并使用 Excel.Interop 运行它。

问题: 我想要实现的是以下内容,如果我正在迭代的单元格不为空,我会处理其中的数据,否则我会警告用户单元格为空/空。我遇到的问题如下,在 excel 中的列上是数据类型:日期,出于某种原因,即使使用这么大的 IF 语句:

如果 (xlsRange.Cells[i, j] != null || xlsRange.Cells[i, j].Value != null || xlsRange.Cells[i, j].Value2 != null || xlsRange.单元格[i, j].Value != DateTime.MinValue || xlsRange.Cells[i, j].Value.ToString() != DateTime.MinValue || xlsRange.Cells[i, j].Value.ToString() != "" || xlsRange.Cells[i, j].Value.ToString() != " " || xlsRange.Cells[i, j].Value.ToString().Length != 0 || xlsRange.Cells [i, j].Value2 != DateTime.MinValue || xlsRange.Cells[i, j] != DateTime.MinValue || string.IsNullOrEmpty(xlsRange.Cells[i, j].ToString()) == false) {}

日期数据类型列中的空单元格始终输入 IF 语句...所有其他使用一般数据类型格式化的列都像魅力一样工作,但由于某种我无法理解的原因,日期却没有。如果这是一个愚蠢的问题,我很抱歉,但我在这里检查了很多帖子(因此是巨大的 if 语句),但没有一个能够帮助我实现我所需要的。提前感谢任何可以指导我找到解决方案的帮助。

我的预期结果是空的日期数据类型单元格没有进入我构建的可怕的 IF 语句。

【问题讨论】:

  • 这似乎有点过头了:-/你能把它分开来看看你的空日期单元格正在触发哪个条件吗?还是先暂时将各种属性读入变量中,以便在逐步执行时查看值?
  • 这不是一直都是真的吗? xlsRange.Cells[i, j].Value.ToString() != "" || xlsRange.Cells[i, j].Value.ToString() != " "。 (除了疯狂的运算符重载)xlsRange.Cells[i, j].Value 的结果不等于" """,因此该条件始终为真。我很欣赏您的问题实际上是“我如何检测'日期'类型的空单元格”,所以这本身并不能回答您的问题。
  • @Rup,如果我没记错的话,我使用的是 OR,所以如果满足其中任何一个条件,他们将进入 IF 语句,否则不应该......我知道我'我在这个上面,我只是想表明我已经尝试了无数条件,但我的 excel 中的空日期单元格仍然输入 IF 语句。

标签: c# excel date excel-interop


【解决方案1】:

我的程序会检查整个“I”列中每个单元格中的值:

尝试根据您的需要返工

var col2 = xlWorkSheet.UsedRange.Columns["I:I", Type.Missing];

            foreach (Microsoft.Office.Interop.Excel.Range item in col2.Cells)
            {
                if (Convert.ToString(item.Value) == null)
                {
                    //Change interior color for full row
                    item.EntireRow.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Cyan);
                }
                else
                {
                    MessageBox.Show("Empty cell");
                }
            }

【讨论】:

    猜你喜欢
    • 2016-01-30
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多