Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > найти пустую ячейку в Excel


Автор: golfV 4.3.2010, 12:51
Доброго времени суток!
есть такая проблемка.
ищу в экселе пустую ячейку чтоб записать туда данные
Код

Start:;
             excelcells = (Excel.Range)excelworksheet.Cells[x, 1];        
            if (String.IsNullOrEmpty(Convert.ToString( excelcells.Value2)))
               
            {
              ...........
            }
else 
            {
                x++;
                goto Start;
            }

нормально работает когда записей немного а если их около 10 000 то приходится долго ждать пока он все это переберет и найдет пустую чтоб записать. Подскажите может есть какой нить вариант чтоб работал быстрее?

Автор: Linus 4.3.2010, 14:10
Да, есть. Выбирайте всю выборку одним махом - через Range. Если выбирать поячеечно, эксель на каждую ячейку при выборке будет создавать объект. Если сразу скопом, выгребет всё за один раз. Потом на клиенте можно проанализировать, какие ячейки пустые, а какие - нет.

Пример через позднее связывание:

Код

public object GetRange(ref object oWorksheet, string range)
{
    return oWorksheet.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, oWorksheet, new object[] { range });
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)