Программа для сравнения данных в ексель и\или CSV

Алексей13 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
09.05.2014

Написать программу, для сравнения даных в ексель и\или CSV файлах.

Т.е. программа должна без проблем работать как с 2-мя ексель файлами, 2-мя CSV, так и если один файл в ексель, другой CSV.

У программы будет несколько режимов и под режимов и некоторые настройки.

Режим 1.

На входе исходный файл. Имя "Пример исходного файла - 1" (прикреплен к ТЗ)

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

Значит в проге указываем через Обзор нужный исходный файл, прога считывает все вкладки, я указываю с какой будем брать данные для работы.

Это лист "Новое наличие" (но может быть и другой, поэтому и нужно чтобы подгрузились все листы и потом можно выбрать нужный)

дальше задаем в каких столбцах нужные нам данные для последующей работы:

Нам нужно указать столбец с артикулом (по нему будем искать в другом файле)в нашем файле это столбец Б

дальше указываем столбец Колличество (столбец О)

Подрежимы:

1. ищем независимо от количества в столбце О

2. ищем только в том случае если колличество больше нуля

3. ищем независимо от значения в столбце О но если ноль то закрашиваем одним цветом найденные совпадения, а если больше нуля, то другим цветом.

дальше подгружаем файл в котором будеи искать.

(прикреплен в ТЗ, называется "входящий файл")

там тоже много листов, указываем на каком листе или листах искать, т.е. можно задать как один лист, так и несколько или все.

Показываем в каком столбце артикул (или если программа сама может разобраться, то не показываем, но лучше наверно указать, чтобы не было ошибок)

Запускаем поиск:

прога берет первый артикул с исходного файла и ищет его во втором файле, там где указали в настройках, когда нашла совпадение артикула закрашивает строку

в заранее заданный в настройках цвет. Совпадений может быть больше одного, красим все что нашли.

На выходе получаем раскрашенный файл.

Второй вариант выходного файла: на выходе получаем файл в котором остались только найденные совпадения, одним цветом окрашенные где колличество больше нуля, и другим цветом где ноль,

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

Если встретились артикулы которые не были найдены в файле где мы делали поиск, то прога пусть вкуда-то отдельно законспектирует те артикулы, которые вообще не были найдены в файле.

Режим 2.

Тут исходный файл будет наоборот, который в примере выше был как бы выходным.

Т.е. исходный будет "Входящий файл"

а сравнивать его будем с файл-2 (это пример файла, обратие внимание файл может весить очень много, примерно 350 метров, чтобы ваши средства могли его переварить)

так же по артикулу ищем с 1-го файла во втором, но результат (раскарску) делаем в нем же (т.е. в исходном файле),

найдено одним цветом, не найдено - другим (цвета задаются)

Подрежим сохранения результата:

остаются только те строки, артикулы которых не были найдены, там где артикул был найдед - строка вырезается.

Подрежим. поиск не по артикулу а по значению из столбца Compitable model или Part No

в этих столбцах часто много значений, значит нужно по очереди сделать поиск каждой модели, те что не не будут найдены в файле поиска, должны дописываться в конце строки таблицы.

В столбце Compitable Model в конце перечисления моделей часто встречается вхождения вида " Extended cover" - это неотносится к модели, его нужно игнорировать.

Т.е. в ячеке Compitable Model такая запись: " iPAQ hw6500, iPAQ hw6515, iPAQ hw6700, iPAQ hw6900 Extended with cover"

то ищем

iPAQ hw6500

iPAQ hw6515

iPAQ hw6700

iPAQ hw6900

а вот это не учитываем Extended with cover

т.е. последняя модель для поиска не iPAQ hw6900 Extended with cover а iPAQ hw6900

Нужно вырезать все вхождения Extended и все что с ним связано

Все.

Бюджет за полную реализацию - 30 у.е.

Только за первую часть - Режим 1 - готов отдельно заплатить 300 рублей, так как там вроде не сложно, а результат мне нужен поскорей!