|
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
|
|
Сравнение строк в двух Excel-файлах18.08.2015, 14:36. Показов 3530. Ответов 13
Метки нет (Все метки)
Доброго дня. Есть два файла Excel. Как сравнить строку одного файла со строкой другого файла и в зависимости от результата сравнения предпринять те или иные действия? Понятно, что if и циклом. Трудности с лексикой Excel.
Спасибо.
0
|
|
| 18.08.2015, 14:36 | |
|
Ответы с готовыми решениями:
13
Поиск одинаковых строк в файлах Удаление пустых строк в текстовых файлах Сравнение строк в нескольких файлах excel, копирование несовпадающих строк и их вывод в сводный файл |
|
|
|
| 18.08.2015, 15:31 | |
|
Просто циклом не получиться. Верстка файлов может быть совсем разная, но при открытии таблицы будут сходны.
Скорее всего точный результат Вы получите если изначально себе по ячейкам разложите значения (к примеру в тот же TStringGrid) и уж их сравнивать. PS На форуме масса примеров импорта Excel в TStringGrid
1
|
|
|
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
|
||
| 18.08.2015, 16:02 [ТС] | ||
|
Не получается с синхронизацией вариантов первого и второго файла и сравнение.
Чего то не сообразить. Хотел оптимального кода. Боюсь такого понаписать, что долго будет думать и в 10 раз длиннее получится. Пробую, но пока лезут ошибки экселя. Вообще.. Есть первый файл - в нем на первом листе 500 строк. В диапазоне 1-45 столбец. Есть второй файл - в нем на первом листе 450 строк. В диапазоне 1-40 столбец. Задача- если диапазон 1-40 i-ой строки первого файла равен диапазону 1-40 ?-ой строки второго файла, то диапазон 41-45 i-ой строки первого файла копируем в диапазон 41-45 ?-ой строки второго файла.
0
|
||
|
|
|
| 18.08.2015, 16:28 | |
|
Sergey_03, Смотрите это XML верстка, если вы в ней понимаете, то в любом случае придется парсить сами файлы и сравнивать ряд моментов (не совсем приятно рыскать в xml). А если документы как вы описали не большие, то делаете луче импорт в удобный для вас формат в программе и циклом сравниваете. Это сэкономит Вам как время, так и нервы.
1
|
|
|
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
|
||||||
| 19.08.2015, 11:53 [ТС] | ||||||
|
Написал такое, но не работает. Слишком много итераций. Наверное есть другой алгоритм. Прошу совета.
0
|
||||||
|
|
||||||
| 19.08.2015, 12:02 | ||||||
|
Да чет непонятное у Вас сравнение.
Сделал по Вашему условию так (но сам код не проверял, интуитивно что работает)
1
|
||||||
|
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
|
||
| 19.08.2015, 12:07 [ТС] | ||
|
Там не так немного.
Там типа такого, только столбцы другие немного-
0
|
||
|
Супер-модератор
|
||||||
| 19.08.2015, 12:20 | ||||||
Сообщение было отмечено BRcr как решение
Решение
Sergey_03, гриды не нужны. Достаточно прочитать содержимое строк (по 40 ячеек) из обоих файлов в два разных StringList-а (ну, или в какие-то другие контейнеры, по желанию), и потом уже проходить по этим контейнерам и сравнивать их содержимое. Как только i-я строка из 1-го контейнера равна j-ой строке из второго - номер строки у тебя есть, просто берешь недостающий кусок строки из первого файла, и пишешь во второй.
Вот так 200 строк из xls-файла читаются меньше, чем за секунду:
1
|
||||||
|
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
|
|||||||
| 19.08.2015, 15:26 [ТС] | |||||||
|
Написал
0
|
|||||||
|
Супер-модератор
|
||
| 19.08.2015, 15:56 | ||
|
1
|
||
|
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
|
|
| 19.08.2015, 16:04 [ТС] | |
|
индекс может быть разный. в разных файлах может сместиться. Максимум в файлах может быть 500 строк. Например
в первом файле их 340, во втором 420. Или в первом 350, во втором 351. До какого то момента может совпадать, потом смещение.Или я опять туплю.
0
|
|
|
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
|
||||||||
| 19.08.2015, 17:09 [ТС] | ||||||||
|
И сравнивать достаточно значения во вторых и четвертых ячейках.... Добавлено через 55 минут И еще вопрос - мне нужно лист 4 использовать. Пробую подставить в
0
|
||||||||
| 19.08.2015, 17:09 | |
|
Помогаю со студенческими работами здесь
14
Сравнение строк в двух файлах Сравнение строк в 2х файлах Сравнение столбцов в двух файлах Сравнение строк в разных файлах Сравнение VBA- проектов в двух файлах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc
О Господи, Вечный, Ты . . .
Я помоги, Бесконечный. . .
Я прошу Ты. . .
Я погибаю, спаси. . .
Я прошу Тебя Вечный. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|