Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Вниз

Удаление пустых строчек из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.013 c
1-1148889628
Layner
2006-05-29 12:00
2006.07.09
Как принудительно "перерисовать" форму


3-1146895018
Alexandr1
2006-05-06 09:56
2006.07.09
Коннект к БД на локальном компутере из зоны инета


2-1150874887
_HAWK_
2006-06-21 11:28
2006.07.09
Создание TLabel


8-1138560030
ZeFiR
2006-01-29 21:40
2006.07.09
Flash


6-1141213330
just_roma
2006-03-01 14:42
2006.07.09
Передача голосовых сообщений по сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский