Я хочу написать тест, который создает файл Excel и проверяет, совпадает ли его содержимое с содержимым другого файла Excel.
Сначала я подумал сравнить контрольные суммы файлов, но они оказались разными, хотя я сравнивал контрольные суммы файлов, созданных одним и тем же тестом. И содержимое у них обязательно должно быть одинаковое.
Затем я извлек содержимое xlsx-файла (похоже на ZIP-файл) и сравнил содержимое соответствующей папки. Был файл, содержащий дату создания Excel. Это, конечно, меняется от одного тестового запуска к другому. Ниже приведены мои описанные выше действия, выполняемые в терминале:
Файлы Excel file1.xlsx и file2.xlsx создаются по одной и той же процедуре и их содержимое не отличается.
Код: Выделить всё
$ unzip file1.xlsx -d /tmp/file1
Archive: file1.xlsx
inflating: file1/[Content_Types].xml
inflating: file1/_rels/.rels
inflating: file1/docProps/app.xml
inflating: file1/docProps/core.xml
inflating: file1/xl/sharedStrings.xml
inflating: file1/xl/styles.xml
inflating: file1/xl/workbook.xml
inflating: file1/xl/_rels/workbook.xml.rels
inflating: file1/xl/worksheets/sheet1.xml
$ unzip file2.xlsx -d /tmp/file2
Archive: file2.xlsx
inflating: file2/[Content_Types].xml
inflating: file2/_rels/.rels
inflating: file2/docProps/app.xml
inflating: file2/docProps/core.xml
inflating: file2/xl/sharedStrings.xml
inflating: file2/xl/styles.xml
inflating: file2/xl/workbook.xml
inflating: file2/xl/_rels/workbook.xml.rels
inflating: file2/xl/worksheets/sheet1.xml
# File containing Excel creation date
$ diff --brief --recursive /tmp/file1 /tmp/file2
Files /tmp/file1/docProps/core.xml and /tmp/file2/docProps/core.xml differ
$ diff
Подробнее здесь: [url]https://stackoverflow.com/questions/79258014/how-to-check-two-excel-files-for-equality[/url]
Мобильная версия