我在这里做了一些简单的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;
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,在某些列中,值为"000",虽然我将CellType指定为字符串,但excel会格式化值并将单元格显示为空.如果我选择单元格,我会在其中看到值0.我希望excel停止格式化我的值,如果它们是字符串并按原样粘贴它们.
我怎样才能做到这一点?