Как сказать Range.NumberFormat просто поместить данные как есть? - PullRequest
1 голос
/ 11 января 2012


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

1 Ответ

5 голосов
/ 11 января 2012

"@". Возможно, вам придется установить до установки значения.

Это также настраивает его так, чтобы оно действительно воспринималось как строка (поэтому вы не можете выполнять арифметику над ячейкой в ​​формулах, она будет выровнена по левому краю и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...