Как более эффективно использовать Tortoise SVN diff для больших файлов Excel?

Вопрос или проблема

Я был приятно удивлён, обнаружив, что Tortoise SVN diff позволяет мне находить различия между двумя excel-файлами. Ячейка, которая отличается, выделена красным. Это работает для небольших excel-файлов.

Но у меня есть Excel-таблицы с тысячами строк и довольно большим количеством столбцов.

Существует ли способ быстро найти ячейки, которые изменились (в отличие от того, чтобы медленно прокручивать каждую таблицу и находить выделенные ячейки, что отнимает много времени и подвержено ошибкам)?

Чтобы использовать это с Tortoise Diff, вам нужно будет экспортировать их в CSV и сделать дифф между файлами, это не самое идеальное решение, но полезное. Если у вас есть Office Professional Plus 2013 или Office 365 ProPlus, вы можете использовать функцию сравнения Excel. Существуют и другие методы, которые, вероятно, будут неудобны для таких больших файлов, и сторонние инструменты, описанные здесь.

Вот адаптация этих инструкций, которые показывают, как заменить операцию диффа TortoiseSVN для Excel-таблиц с помощью утилиты Microsoft Office “Spreadsheet Compare”, которая входит в з плату Office Professional Plus 2013, Office Professional Plus 2016, Office Professional Plus 2019 или Microsoft 365 Apps для предприятий. (Spreadsheet Compare сравнивает все листы в двух книгах.)

  1. Создайте следующий пакетный сценарий. Я назвал его sc.bat и сохранил его в

    C:\Program Files (x86)\Microsoft Office\Office16\DCF

    рядом с исполняемым файлом SPREADSHEETCOMPARE.EXE. (Если у вас нет разрешения
    на запись в этот каталог, сохраните его где-нибудь ещё, в этом случае вам нужно
    будет изменить %~dp0 на строке 5 файла sc.bat, чтобы указать на вышеупомянутый каталог).
    Обратите внимание, что два имени файлов %~1 и %~2 ДОЛЖНЫ находиться на отдельных строках
    текстового файла, без кавычек.)

@echo off
set SCTEMP="%TEMP%\sctemp~%RANDOM%.txt"
echo %~1 > "%SCTEMP%"
echo %~2 >> "%SCTEMP%"
"%~dp0\SPREADSHEETCOMPARE.EXE" "%SCTEMP%"
  1. Откройте окно настроек TortoiseSVN (щелкните правой кнопкой мыши по любой директории –> TortoiseSVN –> Настройки), выберите “Просмотр различий” слева и нажмите на кнопку “Дополнительные настройки” справа:
    Диалог настроек TortoiseSVN
  2. В открывшемся диалоговом окне “Дополнительные настройки сравнения различий” перейдите к расширению .xlsx, нажмите [Изменить] и введите следующую команду (измените каталог, если вы не сохранили sc.bat в каталоге с SPREADSHEETCOMPARE.EXE):
C:\Program Files (x86)\Microsoft Office\Office15\DCF\sc.bat %base %mine

Нажмите [ОК] в трех диалоговых окнах, чтобы выйти.

С этого момента, когда вы используете TortoiseSVN для сравнения файла (например, щелкайте правой кнопкой мыши и выбирайте “различия”, или двойной щелчок по нему во время диалога Commit), вы вызовете утилиту Microsoft Spreadsheet Compare.

Идея: если вы можете сохранить свои таблицы в формате, основанном на тексте — например, .fods — стандартный инструмент дифф будет достаточен.

Я следовал инструкциям circlepi314, но это не сработало для меня. Мне пришлось изменить пакетный сценарий на следующий:

@echo off
set SCTEMP="%TEMP%\sctemp~%RANDOM%.txt"
echo %~1 > "%SCTEMP%"
echo %~2 >> "%SCTEMP%"
"C:\Program Files\Microsoft Office\root\Client\AppVLP.exe" "%~dp0SPREADSHEETCOMPARE.EXE" "%SCTEMP%"

Убедитесь, что SPREADSHEETCOMPARE.EXE находится в той же папке, что и пакетный сценарий, иначе это не сработает. Вы можете найти правильную папку, найти Spreadsheet Compare в меню Пуск и открыть свойства ярлыка.

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

Одним из лучших инструментов сравнения является Beyond Compare.

Специализированные просмотрщики

Beyond Compare многофункционален, предоставляя встроенные просмотрщики сравнения для различных типов данных. Сравнивайте .csv-данные, книги Microsoft Excel и HTML-таблицы в сессии Сравнения таблиц. Сравнивайте изображения в сессии Сравнения изображений.

Сравнение таблиц

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

Сравнение таблиц

Это не бесплатно, но это отлично и является моим любимым.

Для бесплатного и с открытым исходным кодом решения вы можете конвертировать в CSV/TSV и использовать WinMerge.

Сравнение таблиц

  • Показывает содержимое CSV/TSV файлов в табличном формате
  • Текст может быть обернут для каждого столбца

Если вам не нужно просматривать в табличном формате и нужно лишь сравнить необработанные тексты вне функций, то вы можете попробовать Araxis Merge.

Непосредственно открывайте и сравнивайте текст из Microsoft Office (Word и Excel), OpenDocument, PDF и RTF файлов.

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

https://www.araxis.com/merge/features.en

Он даже может сравнивать форматированные тексты. Обратите внимание, что сравнение является только для чтения, вы не сможете сохранить отредактированные Excel-файлы.

Ответ или решение

Как эффективно использовать Tortoise SVN для сравнения больших файлов Excel

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

1. Использование Tortoise SVN с утилитой Spreadsheet Compare

Для начала, чтобы Tortoise SVN мог корректно сравнивать Excel файлы с помощью Spreadsheet Compare, выполните следующие шаги:

Создайте пакетный файл:

  1. Откройте текстовый редактор и вставьте следующий код:

    @echo off
    set SCTEMP="%TEMP%\sctemp~%RANDOM%.txt"
    echo %~1 > "%SCTEMP%"
    echo %~2 >> "%SCTEMP%"
    "%~dp0\SPREADSHEETCOMPARE.EXE" "%SCTEMP%"
  2. Сохраните этот файл под именем sc.bat в каталоге C:\Program Files (x86)\Microsoft Office\Office16\DCF, рядом с SPREADSHEETCOMPARE.EXE. Обратите внимание, что на строке 5, %~dp0, вы можете изменить каталог, если вы сохранили файл в другом месте.

Настройте Tortoise SVN:

  1. Откройте настройки Tortoise SVN, щелкнув правой кнопкой мыши на любом каталоге и выбрав "TortoiseSVN" → "Settings".

  2. Перейдите в раздел "Difference Viewer" и нажмите на "Advanced Settings".

  3. Для расширения .xlsx добавьте команду:

    C:\Program Files (x86)\Microsoft Office\Office15\DCF\sc.bat %base %mine
  4. Нажмите [OK] для выхода из всех диалоговых окон.

После этих настроек, при попытке сравнения файла через Tortoise SVN, откроется утилита Spreadsheet Compare, которая делает процесс сравнения более интуитивным и эффективным.

2. Преобразование Excel в CSV

Если вы работаете с очень большими файлами и хотите использовать стандартные функциональные возможности Tortoise SVN, рассмотрите возможность преобразования ваших файлов Excel в CSV. Это позволит вам использовать встроенные инструменты сравнения текстовых файлов.

  1. Экспортируйте Excel в CSV: Откройте файл Excel и выберите "Сохранить как", затем выберите формат CSV.
  2. Используйте встроенные инструменты Tortoise SVN: После превращения файлов в CSV выполните сравнение с помощью Tortoise SVN.

3. Альтернативные инструменты для сравнения

Помимо использования встроенных возможностей Excel и Tortoise SVN, вы также можете воспользоваться специальными инструментами для сравнения файлов. Среди самых популярных:

  • Beyond Compare: Мощный инструмент, который позволяет сравнивать таблицы Excel с учетом ячеек и данных. Он предоставляет возможность игнорировать несущественные столбцы и упрощает просмотр различий.

  • WinMerge: Бесплатное ПО, поддерживающее сравнение файлов в формате CSV/TSV. Благодаря удобному интерфейсу, WinMerge может отображать содержимое файлов в табличном формате с возможностью обертывания текста.

  • Araxis Merge: Этот инструмент позволяет сравнивать текст и форматы файлов, включая Excel. Araxis Merge ориентирован на профессионалов, которым необходима возможность сравнения отформатированных текстов.

4. Переписываем файлы в текстовые форматы

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

Заключение

Работа с большими Excel файлами в Tortoise SVN может быть облегчена несколькими способами, начиная с использования встроенных утилит Microsoft и заканчивая специализированными программами для сравнения. Понимание всех доступных методов и выбор наиболее подходящего для вашего рабочего процесса позволит значительно сократить время на поиск различий и повысить ваши рабочие показатели.

Оцените материал
Добавить комментарий

Капча загружается...