- Вопрос или проблема
- Специализированные просмотрщики
- Сравнение таблиц
- Сравнение таблиц
- Ответ или решение
- Как эффективно использовать Tortoise SVN для сравнения больших файлов Excel
- 1. Использование Tortoise SVN с утилитой Spreadsheet Compare
- 2. Преобразование Excel в CSV
- 3. Альтернативные инструменты для сравнения
- 4. Переписываем файлы в текстовые форматы
- Заключение
Вопрос или проблема
Я был приятно удивлён, обнаружив, что 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 сравнивает все листы в двух книгах.)
-
Создайте следующий пакетный сценарий. Я назвал его
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%"
- Откройте окно настроек TortoiseSVN (щелкните правой кнопкой мыши по любой директории –> TortoiseSVN –> Настройки), выберите “Просмотр различий” слева и нажмите на кнопку “Дополнительные настройки” справа:
- В открывшемся диалоговом окне “Дополнительные настройки сравнения различий” перейдите к расширению
.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.
Он даже может сравнивать форматированные тексты. Обратите внимание, что сравнение является только для чтения, вы не сможете сохранить отредактированные Excel-файлы.
Ответ или решение
Как эффективно использовать Tortoise SVN для сравнения больших файлов Excel
В мире программного обеспечения и управления версиями довольно часто возникает необходимость в сравнении файлов. Особенно это актуально для больших файлов Excel, которые могут содержать тысячи строк и множество столбцов. Однако стандартные функции Tortoise SVN, которые отлично работают с небольшими файлами, могут оказаться недостаточно удобными при работе с крупными таблицами. В данной статье рассмотрим несколько методов, которые позволят вам улучшить процесс сравнения Excel файлов, используя Tortoise SVN и другие инструменты.
1. Использование Tortoise SVN с утилитой Spreadsheet Compare
Для начала, чтобы Tortoise SVN мог корректно сравнивать Excel файлы с помощью Spreadsheet Compare, выполните следующие шаги:
Создайте пакетный файл:
-
Откройте текстовый редактор и вставьте следующий код:
@echo off set SCTEMP="%TEMP%\sctemp~%RANDOM%.txt" echo %~1 > "%SCTEMP%" echo %~2 >> "%SCTEMP%" "%~dp0\SPREADSHEETCOMPARE.EXE" "%SCTEMP%"
-
Сохраните этот файл под именем
sc.bat
в каталогеC:\Program Files (x86)\Microsoft Office\Office16\DCF
, рядом сSPREADSHEETCOMPARE.EXE
. Обратите внимание, что на строке 5,%~dp0
, вы можете изменить каталог, если вы сохранили файл в другом месте.
Настройте Tortoise SVN:
-
Откройте настройки Tortoise SVN, щелкнув правой кнопкой мыши на любом каталоге и выбрав "TortoiseSVN" → "Settings".
-
Перейдите в раздел "Difference Viewer" и нажмите на "Advanced Settings".
-
Для расширения
.xlsx
добавьте команду:C:\Program Files (x86)\Microsoft Office\Office15\DCF\sc.bat %base %mine
-
Нажмите [OK] для выхода из всех диалоговых окон.
После этих настроек, при попытке сравнения файла через Tortoise SVN, откроется утилита Spreadsheet Compare, которая делает процесс сравнения более интуитивным и эффективным.
2. Преобразование Excel в CSV
Если вы работаете с очень большими файлами и хотите использовать стандартные функциональные возможности Tortoise SVN, рассмотрите возможность преобразования ваших файлов Excel в CSV. Это позволит вам использовать встроенные инструменты сравнения текстовых файлов.
- Экспортируйте Excel в CSV: Откройте файл Excel и выберите "Сохранить как", затем выберите формат CSV.
- Используйте встроенные инструменты 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 и заканчивая специализированными программами для сравнения. Понимание всех доступных методов и выбор наиболее подходящего для вашего рабочего процесса позволит значительно сократить время на поиск различий и повысить ваши рабочие показатели.