У меня есть некоторая операция, которая требует перебора 3000 ячеек excel. Проблема в том, что этот мой код кажется довольно плохим для производительности. Я провел небольшое исследование с классом «Секундомер», чтобы понять, где я теряю время. Моя операция длится 24 секунды, а всего одна строчка кода там занимает 17 секунд. Я использую этот код, это имя ячейки возврата моего класса из ссылки на ячейку.
public string GetCellName(Range cell)
{
string name = "";
try
{
name = cell.Name.Name;
}
catch { }
return name;
}
Мне кажется очень странным, что этот простой код занимает так много времени. Есть некоторые другие части, которые должны занимать больше времени, например небольшой цикл for с 6-8 элементами. Я попытался написать этот метод следующим образом:
public string GetCellName(Range cell)
{
if (cell.Name == null) return "";
else if (cell.Name.Name == null) return "";
else return cell.Name.Name;
}
Но чем он выдает исключение. Есть ли у вас какие-либо предложения о том, как эффективно получить имя ячейки Excel?