Здесь я делаю некоторую простую автоматизацию 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 прекратил форматировать мои значения, если они были строковыми, и просто вставил их как есть.
Как я могу это сделать?