Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.09;
Скачать: CL | DM;

Вниз

Удаление пустых строчек из Excel я   Найти похожие ветки 

 
Glivera ©   (2006-05-28 23:15) [0]

Из своего приложения открываю Excel"евский файл (прайс), нахожу количество строк, но файл может содержать и пустые строки. Вопрос заключается в том, как мне удалить эти строки?


 
Palladin ©   (2006-05-28 23:22) [1]

Проще провести экспорт в csv и обработать в текстовом виде.


 
Glivera ©   (2006-05-28 23:40) [2]

а по существу?


 
Palladin ©   (2006-05-28 23:54) [3]


> Glivera ©   (28.05.06 23:40) [2]

а что по существу? сохранение в текстовом файле это не по существу?


 
sniknik ©   (2006-05-29 00:17) [4]

не нравится предложенный вариант с выгрузкой? аргументируйте... по существу.

а то такое чуство, что вариант не понят. и нет гарантий, что другое "поймется"... не хочется "метать бисер" вхолостую.

p.s. в зависимости от способа открытия есть возможность, что пустые строки не совсем пустые... просто неопределенный тип отбрасывается (бывает).


 
DevilDevil ©   (2006-05-29 02:23) [5]

1) открываешь нужный файл
2) создаёшь новый лист Excel
3) копируешь заголовок из старого в новый
4) перебираешь все строки старой таблицы, если не пустая, то заносишь в новую
5) закрываешь старый лист, сохраняешь новый под старым именем

Только это приходит в голову... Может у листа есть метод типа Delete, попробуй


 
evvcom ©   (2006-05-29 08:27) [6]


> заключается в том, как мне удалить эти строки?

А зачем? Если юзер не умеет работать с Excel, пусть получает то, что наработал. Ну а ты его научи, как надо.


 
_RusLAN ©   (2006-05-29 10:16) [7]

Glivera ©   (28.05.06 23:15)
Сначала надо поределится что такое "пустые строки" и  от этого плясать.
Excel считает что строка заполнена, даже если в ней меняли только форматирование.
Сначала надо определить что строка пустая, а потом удалить:
Удаляется типа так (макрос)
   Rows("4:5").Select
   Selection.Delete Shift:=xlUp


 
umbra ©   (2006-05-29 13:30) [8]

если считать пустой строкой строку, ни в одной ячейке нет значения, то можно использовать что-то вроде

procedure TForm1.Button2Click(Sender: TObject);
var
 mysheet, firstcell : Variant;

begin
 mysheet := FXLApp.Workbooks[1].Worksheets[1];
 firstcell := mysheet.Cells[1, 1];
 firstcell.Activate;
 if VarIsEmpty(firstcell.Value) then
   mySheet.Rows[1].Delete(xlUp);
 while mySheet.Cells.CurrentRegion.Rows.Count < mySheet.Usedrange.Rows.Count do
   mySheet.Rows[mySheet.Cells.CurrentRegion.Rows.Count + 1].Delete(xlUp);
 firstcell := Unassigned;
 mysheet := Unassigned;
end;


 
Glivera ©   (2006-05-31 00:52) [9]

> umbra
Спасибо большое... самое то...
Все работает, все отлично.. ;)



Страницы: 1 вся ветка

Текущий архив: 2006.07.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
2-1150796160
TrainerOfDolphins
2006-06-20 13:36
2006.07.09
Cntrl+Delete –удаление записи через DBGrid


2-1151063252
WebSqlNeederr
2006-06-23 15:47
2006.07.09
Как узнать путь где находится данная копия программы?


6-1141709508
rOOse
2006-03-07 08:31
2006.07.09
Парсинг Url a


2-1150966996
Calm
2006-06-22 13:03
2006.07.09
Возможности TWebBrowser, несколько вопросов


11-1128946067
BMouradov
2005-10-10 16:07
2006.07.09
Ошибка PBitMap, начиная с 2.13