Excel. Диапазон к Преобразованию строк в C#

Используя Office.NET interop библиотеки, делает кто-либо знает лучший способ преобразовать назад и вперед между строками (например, "A57", "2$L$: $M: дюйм за 3$) и соответствующие объекты типа Excel. Диапазон?

Бонусные очки, если это также работает с "именованными диапазонами".

5
задан mcoolbeth 9 April 2010 в 18:37
поделиться

2 ответа

Используйте свойство Range объекта Worksheet и передайте Type.Missing в качестве второго параметра.

Например:

Range range = sheet.get_Range("$L$2:$M:$3", Type.Missing);

Это также поддерживает именованные диапазоны.

ИЗМЕНИТЬ

4
ответ дан 14 December 2019 в 13:31
поделиться

Если вы пытаетесь получить фактическое содержимое ячейки, используйте свойство Value2. Вот код, который определяет тип значения ячейки и выполняет различные действия соответственно.

Excel.Range cell = (Excel.Range)sheet.UsedRange[row, col];
if (cell.Value2 != null)
{
    switch (Type.GetTypeCode(cell.Value2.GetType()))
    {
        case TypeCode.String:
            string formula = cell.Value2;
            break;
        case TypeCode.Double:
            double amt = (Double)cell.Value2;
            break;
    }
}

cell.Value2 = amt + someotheramt;

HTH

0
ответ дан 14 December 2019 в 13:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: