Как создать два объекта XSSFWorkbook с одинаковыми байтами
Я пытаюсь написать тест, чтобы проверить, что файл Excel, который я создал в коде, точно такой же, как файл ресурсов (такое же форматирование, то же содержимое ячейки и т. Д.).
Одна из идей заключалась в том, чтобы преобразовать в байтовые массивы и проверить, что байт-массивы равны. К сожалению, у меня возникают проблемы с этим подходом, так как формат excel, как представляется, включает отметку времени создания файла.
Например, этот код печатает false
.
- Добавление данных Excel в JTable, а не создание новых строк? (.xlsx) (JAVA)
- Пользовательский формат JAVA Apache POI
- POI-XSSF: чтение форматированного значения из кеширования формул
- Отображение даты из листа Excel xlsx в Java
- Apache-пои. XSSF. рабочая тетрадь
import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.ByteArrayOutputStream; import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { Workbook workbook1 = new XSSFWorkbook(); ByteArrayOutputStream baos1 = new ByteArrayOutputStream(); workbook1.write(baos1); byte[] bytes1 = baos1.toByteArray(); Thread.sleep(1000); Workbook workbook2 = new XSSFWorkbook(); ByteArrayOutputStream baos2 = new ByteArrayOutputStream(); workbook2.write(baos2); byte[] bytes2 = baos2.toByteArray(); System.out.println(Arrays.toString(bytes1)); System.out.println(Arrays.toString(bytes2)); System.out.println(Arrays.equals(bytes1, bytes2)); } }
Кто-нибудь знает способ решения этой проблемы. Возможно ли создать экземпляры XSSFWorkbook
которые гарантированно будут одинаковыми? Альтернативно, есть ли другой путь вокруг этой проблемы?
- Apache POI XSSF чтение в файлах excel
- Как я могу освободить память, хранящуюся в XSSFWorkbook?
- Выход из файла чтения с помощью apache poi xssf
- Не удалось установить пользовательский цвет в XSSFCell Apache POI
- Условные форматирование пользовательских цветов в Apache POI XSSF
- Формат ячейки Excel - рабочая тетрадь XSSF
- XSSFSheet: индекс листа находится за пределами допустимого диапазона
- POI-XSSF: тип ячейки FORMULA, но не может получить cachedResultType