![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Скажите, а кто-нибудь хранит Excel в CVS (или ему подобных системах)?
Основной вопрос - сравнение двух версий файла. Я согласен на множество упрощений, например полностью отказаться от сравнения форматирования, даже от формул - только данные. Но я порылся в Internet'е, ничего приличногов упор не нахожу. А наши программеры предлагают перейти на Google Docs - при всём моём уважении к этой фирме, мне это пока что кажется опасной утопией.
С другой стороны, последние версии Excel сохраняют файлы в формате XML-ZIP, про который я уже когда-то спрашивал, но для которого тоже пока что решения не нашёл...
Одно из требований - не писать скрипт сравнения самим. Нам нужно стабильно работающее решение, которое будет автоматически учитывать будущие версии Excel, а также всевозможные баги этого прекрасного формата...
Основной вопрос - сравнение двух версий файла. Я согласен на множество упрощений, например полностью отказаться от сравнения форматирования, даже от формул - только данные. Но я порылся в Internet'е, ничего приличногов упор не нахожу. А наши программеры предлагают перейти на Google Docs - при всём моём уважении к этой фирме, мне это пока что кажется опасной утопией.
С другой стороны, последние версии Excel сохраняют файлы в формате XML-ZIP, про который я уже когда-то спрашивал, но для которого тоже пока что решения не нашёл...
Одно из требований - не писать скрипт сравнения самим. Нам нужно стабильно работающее решение, которое будет автоматически учитывать будущие версии Excel, а также всевозможные баги этого прекрасного формата...
no subject
Date: 2012-02-14 08:54 am (UTC)no subject
Date: 2012-02-14 08:56 am (UTC)no subject
Date: 2012-02-14 09:02 am (UTC)Меня как-то порадовала в документации одного процесса фраза "конвертировать текстовый файл в формат Excel" - на деле надо было переименовать .txt в .xls (даже не .cvs), и Excel действительно подхватывал данные почти что автоматически :-/
no subject
Date: 2012-02-14 09:09 am (UTC)no subject
Date: 2012-02-14 09:00 am (UTC)no subject
Date: 2012-02-14 09:10 am (UTC)no subject
Date: 2012-02-14 09:37 am (UTC)Теоретически единственное возможное решение могло бы быть только от майкрософта, т.е его sourcesafe (или как там это нынче называется) мог бы разгребать формат, находить разницу и ее достойно показывать. Для сторонних программ это совершенно нереальная задача, слишком дорога поддержка.
Что касается вроде-как-открытого формата xlsx, то судя по тому, как часто мне приходится править парсер, вытаскивающий данные из него, майкрософт не стоит на месте.
Единственный выход я вижу в использовании csv, как уже написали ранее, но смотреть на его диффы довольно уныло, особенно, если поменяли колонку, а не строку.
no subject
Date: 2012-02-14 10:38 am (UTC)http://superuser.com/questions/18626/how-do-i-compare-two-excel-documents
no subject
Date: 2012-02-14 12:42 pm (UTC)no subject
Date: 2012-02-14 01:45 pm (UTC)Но если нужно сравнить два CSV файла, не учитывая, скажем, каких-то колонок (строчки можно было бы и WinMerge сравнивать), то мы делали так (но это работало для нас, может я неверно понял вашу задачу):
1. Берем LogParser (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24659)
2. Пишем запрос, который бы выбросил те колонки, которые хотим выбросить из сравнения. Плюс, если нужно, сортировка
3. Исполняем этот запрос на двух версиях файла, которые нужно сравнить и результат сохраняем в отдельные файлы.
4. Сравниваем эти два результата любой тулзой для сравнения.
Этот метод легко автоматизируется. У нас он бежит по ночам на сотнях файлов.
no subject
Date: 2012-02-14 01:55 pm (UTC)Во-первых, у меня не текстовый CVS, а бинарный XLS. Во-вторых, не хочется писать ничего, потому что некому потом всё это поддерживать. Нужно какое-то готовое (платное, бесплатное, но живучее) решение. И результат сравнения должен быть по простоте чтения сравним с результатом стандартного diff'а, то есть полоьзователи совсем не программисты, они и diff'а-то пугаются.
В идеале - программа, которая прикручивается к CVS, и которая по клику compare with выдаёт картинку сравнения двух файлов.
no subject
Date: 2012-02-14 01:56 pm (UTC)