如何告诉Range.NumberFormat按原样放置数据

本文关键字:置数据 按原样 NumberFormat 何告诉 Range | 更新日期: 2023-09-27 18:20:07


我在这里做一些简单的excel自动化,在我的代码周围的某个地方,我有一个开关块,用于检查CellType(我构建的自定义枚举),并在此基础上进行一些格式化
这是我的代码:

            switch (celltype)
            {
                case CellType.String:
                    cellRangeFormat = cellrange.get_Range(cell, cell);
                    cellRangeFormat.NumberFormat = ????;
                    break;
                case CellType.Numeric:
                    cellRangeFormat = cellrange.get_Range(cell, cell);
                    cellRangeFormat.NumberFormat = ";0_);[Red](0)";
                    break;
                case CellType.Percentage:
                    cellRangeFormat = cellrange.get_Range(cell, cell);
                    cellRangeFormat.NumberFormat = "#,0.00 %";
                    break;
                case CellType.Decimal:
                    cellRangeFormat = cellrange.get_Range(cell, cell);
                    //cellrangeformat.NumberFormat = "#,0.00";
                    cellRangeFormat.NumberFormat = "#,##0.00_);[Red](#,##0.00)";
                    break;
                default:
                    break;
            }


现在的问题是,在某些列中,值是"000",尽管我将CellType指定为字符串,但excel会格式化值并将单元格显示为空。如果我选择单元格,我会看到其中的值0。如果值是字符串,我希望excel停止格式化我的值,并按原样粘贴它们。
我该怎么做?

如何告诉Range.NumberFormat按原样放置数据

"@"。在设置值之前,您可能需要将其设置为

这也让它真正把它看作一个字符串(所以你不能对公式中的单元格进行算术运算,它会左对齐,等等)。