Microsoft® Преобразование файлов Excel через Java

Сохраняйте документы Microsoft Excel в виде электронных таблиц, веб-сайтов, изображений и форматов с фиксированным макетом.

 

Для любого приложения или решения Excel Converter библиотека JavaExcel ускоряет программирование электронных таблиц и процессы преобразования при обработке нескольких форматов, включая XLS, XLSX, XLSM, XLSB, XLTX, XLTM, CSV, SpreadsheetML, ODS. Он также позволяет конвертировать файлы Excel в PDF, XPS, HTML, MHTML, обычный текст и популярные форматы изображений, такие как TIFF, JPG, PNG, BMP и SVG.

Взаимное преобразование форматов Microsoft Excel

Взаимное преобразование формата электронной таблицы требует только загрузки электронной таблицы с экземпляром Рабочая тетрадь и сохранить обратно в желаемом формате, выбрав соответствующее значение из СохранитьФормат перечисление.

Java Пример кода для преобразования формата файла Excel
// загрузить исходный файл
var wkb = new Workbook("sourceFile.xls");
// сохранять в форматах XLSX, ODS, SXC и FODS
wkb.save("xlsx-output.xlsx", SaveFormat.XLSX);
wkb.save("ods-output.ods", SaveFormat.ODS);
wkb.save("scx-output.scx", SaveFormat.SXC);
wkb.save("fods-output.fods", SaveFormat.FODS);
 

Преобразование Excel в PDF, XPS, HTML и MD

Доступны специализированные классы для управления процессом преобразования для определенных выходных форматов, таких как PdfSaveOptions конвертировать файлы Excel в формат PDF, XPsSaveOptions экспортировать Excel как XPS, Хтмлсавеоптионс отображать Excel как HTML и MarkdownSaveOptions для преобразования Excel в Markdown.

Java Пример кода для преобразования Excel в PDF и веб-форматы
// загрузить файл шаблона Excel с диска
var bk = new Workbook("source-file.xlsx");

// преобразовать Excel в PDF с помощью Java
// Создать параметры PDF
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_A_1_A);

bk.save("excel-to-pdf.pdf", options);
// сохранить Excel в XPS
bk.save("output.xps", new XpsSaveOptions());
// сохранить Excel в HTML
bk.save("output.html", new HtmlSaveOptions());
// сохранить Excel в Markdown (MD)
bk.save("output.md", new MarkdownSaveOptions());

// можно установить соответствующие параметры сохранения по своему выбору перед сохранением в соответствующем формате
 

Преобразование JSON в Excel и Excel в JSON

Данные JSON можно импортировать в экземпляр класса Workbook с помощью JSONUtility.importData для дальнейшей обработки или простого преобразования в любой из поддерживаемых форматов. Точно так же данные рабочего листа можно экспортировать в формате JSON, создав Диапазон или ячейки и вызов экспортRangeToJson метод.

Java Код для преобразования JSON в Excel
Workbook workbook = new Workbook(path + "source-file.xlsx");
Worksheet wks = workbook.getWorksheets().get(0);
		
// Прочитать файл
File file = new File(path + "source-data.json");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String jsonInput = "";
String tempString;
while ((tempString = bufferedReader.readLine()) != null) {
	jsonInput = jsonInput + tempString; 
}
bufferedReader.close();
							
// Установить JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.setIgnoreArrayTitle(true);
options.setArrayAsTable(true);

// Импорт данных JSON
JSONUtility.importData(jsonInput, wks.getCells(), 0, 0, options);

// Сохранить файл Excel
workbook.save(path + "excel-to-json.out.xlsx");
Java Исходный код для преобразования Excel в JSON
// загрузить файл XLSX с экземпляром Workbook
Workbook workbook = new Workbook("sourceFile.xlsx");
// получить доступ к CellsCollection рабочего листа, содержащего данные для преобразования
Cells cells = workbook.getWorksheets().get(0).getCells();
// создать и установить ExportRangeToJsonOptions для дополнительных параметров
ExportRangeToJsonOptions exportOptions = new ExportRangeToJsonOptions();
// создать диапазон ячеек, содержащих данные для экспорта
Range range = cells.createRange(0, 0, cells.getLastCell().getRow() + 1, cells.getLastCell().getColumn() + 1);
// экспортировать диапазон как данные JSON
String jsonData = JsonUtility.exportRangeToJson(range, exportOptions);
// записать данные на диск в формате JSON
BufferedWriter writer = new BufferedWriter(new FileWriter("output.json"));
writer.write(jsonData);
writer.close();    
 

Сохранение листов Excel в изображения

Каждый рабочий лист может быть преобразован в различные форматы изображений, включая JPG, BMP, PNG и GIF, установленные свойством ImageType. Для любого случая Конвертировать Excel в изображения выберите соответствующий случай по ссылкам.

Java Код для преобразования Excel в изображение
// загрузить таблицу шаблонов
var wkb = new Workbook("template.xlsx");

// Создайте объект для ImageOptions
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();

// Установите тип изображения
imgOptions.setImageType(ImageType.PNG);

// Получите первый рабочий лист.
Worksheet sheet = wkb.getWorksheets().get(0);

// Создайте объект SheetRender для целевого листа
SheetRender sr = new SheetRender(sheet, imgOptions);
for (int j = 0; j < sr.getPageCount(); j++) {
	// Создание изображения для рабочего листа
	sr.toImage(j, dataDir + "WToImage-out" + j + ".png");
}
 

Преобразование Microsoft Excel в Word и PowerPoint

Можно загрузить любую электронную таблицу и преобразовать ее в файлы Word DOCX и PowerPoint PPTX при использовании DocxSaveOptions & PptxSaveOptions классы, как показано ниже.

Java Код для преобразования Excel в Word и PowerPoint
// загрузить файл шаблона
var wkb = new Workbook("template.xlsx");
// сохранить таблицу как DOCX
wkb.save("output.docx", new DocxSaveOptions());
// сохранить электронную таблицу как PPTX
wkb.save("output.pptx", new PptxSaveOptions());