C # Доступ к EXCEL, форматирование ячейки как общего - PullRequest
2 голосов
/ 11 октября 2011

C #, Visual studio 2010

При работе с ячейками Excel в C # (через COM-объект) мне следует использовать .Value или .Value2?то есть

 sheet.Cells[row + n, col].Value = "Hello world"

или

 sheet.Cells[row + n, col].Value2 = "Hello world"

В чем разница между ними?

Кроме того, как мне установить для формата ячейки значение "Общий"?

sheet.Cells[row + n, col].NumberFormat = "XYZ";  // Not sure what should be here

Прямо сейчас, когда я назначаю ячейку с номером «0,34», и даже если я

sheet.Cells[row + n, col].NumberFormat = "@"; 

, я получаю эту «маленькую ошибку» в левом углув каждой клетке

Ответы [ 2 ]

4 голосов
/ 11 октября 2011

Чтобы ответить на первый вопрос, вы должны прочитать эту статью: http://blogs.msdn.com/b/eric_carter/archive/2004/09/06/225989.aspx

Часть необязательных параметров больше не применяется, поскольку в C # 4.0 есть необязательные параметры.

Но есть разница(указано в статье)

Единственное различие между этим свойством [Value2] и свойством Value заключается в том, что свойство Value2 не использует типы данных Currency и Date.Вы можете возвращать значения, отформатированные с этими типами данных, в виде чисел с плавающей запятой, используя тип данных Double.

Для второго вопроса вы пытались установить ячейку «Общие» и прочитать ее вкод?

Я думаю, что это sheet.Cells[row + n, col].NumberFormat = "General", где "@" - чистый текст.

1 голос
/ 14 февраля 2016

Чтобы получить тип General, в качестве «магической строки», которая должна быть присвоена свойству NumberFormat, попробуйте использовать пустую строку, например,

sheet.Cells[5, 7].NumberFormat = "";  // sets the cell type to the General type
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...