Используя Office.NET interop библиотеки, делает кто-либо знает лучший способ преобразовать назад и вперед между строками (например, "A57", "2$L$: $M: дюйм за 3$) и соответствующие объекты типа Excel. Диапазон?
Бонусные очки, если это также работает с "именованными диапазонами".
Используйте свойство Range
объекта Worksheet
и передайте Type.Missing
в качестве второго параметра.
Например:
Range range = sheet.get_Range("$L$2:$M:$3", Type.Missing);
Это также поддерживает именованные диапазоны.
ИЗМЕНИТЬ
Если вы пытаетесь получить фактическое содержимое ячейки, используйте свойство 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