我在这里做了一些简单的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停止格式化我的值,如果它们是字符串并按原样粘贴它们。
我怎么能这样做?
答案 0 :(得分:5)
"@"
。您可能需要在设置值之前将其设置为。
这也将它设置为真正将其视为一个字符串(因此你不能在公式中对单元格进行算术运算,它将是左对齐的等等)。