Форум: "Основная";
Текущий архив: 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.008 c