CSV до XLSX конвертація в Java є частою вимогою, коли застосунки потребують обміну даними з користувачами Excel. Aspose.HTML Cloud SDK for Java надає потужний хмарний API, який ефективно виконує це перетворення. У цьому посібнику ви побачите, як налаштувати залежність Maven, читати дані CSV за допомогою потоків, створювати робочу книгу XLSX та викликати конвертацію через REST API. Після завершення у вас буде повний, готовий до виробництва приклад, який ви можете адаптувати до своїх проєктів.

Вимоги та налаштування

Перш ніж почати, переконайтеся, що у вас є наступне:

  • Java 17 або новіша встановлена.
  • Обліковий запис Aspose Cloud з ідентифікатором клієнта та секретом клієнта.
  • Maven встановлений для управління залежностями.

Додайте Aspose.HTML Cloud SDK for Java до вашого проєкту:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-html-cloud</artifactId>
    <version>23.12</version>
</dependency>

Альтернативно, ви можете встановити пакет безпосередньо з командного рядка:

mvn install com.aspose:aspose-html-cloud

Завантажте останні бінарні файли SDK зі сторінки завантаження. Після вирішення залежності ви готові розпочати кодування. Наступний розділ крок за кроком проведе вас через реалізацію.

Конвертація CSV у XLSX у Java: покроковий посібник

Крок 1: Завантажте вихідний CSV за допомогою Java Streams

Читання CSV рядок за рядком зберігає низьке використання пам’яті, що є важливим для великих файлів.

Path csvPath = Paths.get("input.csv");
List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);

Крок 2: Ініціалізуйте Aspose.HTML Cloud Client

Створіть екземпляр клієнта з вашими обліковими даними. Клас клієнта задокументовано в API reference.

HtmlApi htmlApi = new HtmlApi();
htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");

Крок 3: Перетворення вмісту CSV у XLSX

SDK приймає дані CSV у вигляді рядка і повертає бінарний потік XLSX.

String csvContent = String.join("\n", csvLines);
ConvertDocumentRequest request = new ConvertDocumentRequest()
        .outputFormat("xlsx")
        .inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
byte[] xlsxBytes = htmlApi.convertDocument(request);

Крок 4: Збережіть отриманий файл XLSX

Запишіть повернутий масив байтів у файл на диску.

Path xlsxPath = Paths.get("output.xlsx");
Files.write(xlsxPath, xlsxBytes);

Крок 5: Перевірте конвертацію (необов’язково)

Ви можете швидко відкрити згенерований файл за допомогою Apache POI або будь‑якого переглядача електронних таблиць, щоб переконатися, що дані відформатовано правильно.

Повний приклад коду: конвертація CSV у XLSX за допомогою Aspose.HTML Cloud SDK

Наступна програма об’єднує всі кроки в один, виконуваний клас.

import java.nio.file.*;
import java.nio.charset.StandardCharsets;
import java.util.List;
import com.aspose.html.cloud.api.HtmlApi;
import com.aspose.html.cloud.model.ConvertDocumentRequest;

public class CsvToXlsxConverter {
    public static void main(String[] args) throws Exception {
        // 1. Load CSV file
        Path csvPath = Paths.get("input.csv");
        List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);
        String csvContent = String.join("\n", csvLines);

// 2. Initialise Aspose.HTML Cloud client
        HtmlApi htmlApi = new HtmlApi();
        htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
        htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");

// 3. Convert CSV to XLSX
        ConvertDocumentRequest request = new ConvertDocumentRequest()
                .outputFormat("xlsx")
                .inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
        byte[] xlsxBytes = htmlApi.convertDocument(request);

// 4. Save XLSX file
        Path xlsxPath = Paths.get("output.xlsx");
        Files.write(xlsxPath, xlsxBytes);

System.out.println("Conversion completed. XLSX saved to " + xlsxPath.toAbsolutePath());
    }
}

Примітка: Цей приклад коду демонструє основну функціональність. Перш ніж використовувати його у вашому проєкті, переконайтеся, що оновили шляхи до файлів (input.csv, output.xlsx), перевірте, чи всі необхідні залежності встановлені правильно, і ретельно протестуйте у вашому середовищі розробки. Якщо ви зіткнетеся з будь-якими проблемами, будь ласка, зверніться до офіційної документації або зв’яжіться з командою підтримки для отримання допомоги.

Використання cURL для виклику Aspose.HTML Cloud для генерації XLSX

Те ж перетворення можна виконати за допомогою REST API. Нижче наведено необхідні команди cURL.

  1. Аутентифікація та отримання токену доступу
curl -X POST "https://api.aspose.cloud/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"

Відповідь містить access_token, який ви будете використовувати у наступних викликах.

  1. Завантажте CSV‑файл
curl -X POST "https://api.aspose.cloud/v4.0/html/storage/file/input.csv" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@input.csv"
  1. Виконайте конвертацію
curl -X POST "https://api.aspose.cloud/v4.0/html/convert?outputFormat=xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"inputPath":"input.csv"}' \
     -o output.xlsx
  1. Завантажте файл XLSX (якщо ви вибрали інше місце розташування)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

Для повного списку параметрів перегляньте офіційну документацію API.

Врахування продуктивності при конвертації великих CSV у XLSX

  • Потокове читання CSV - Використовуйте Files.lines або буферизований читач, щоб обробляти рядки по одному замість завантаження всього файлу в пам’ять.
  • Пакетне завантаження - При роботі з файлами розміром більше 100 MB розділіть CSV на менші частини та конвертуйте кожну частину окремо, потім, за потреби, об’єднайте отримані частини XLSX.
  • Увімкнути асинхронне перетворення - Додайте параметр запиту async=true до запиту перетворення, щоб хмарний сервіс обробляв файл у фоні, скорочуючи час очікування на боці клієнта.
  • Налаштування вихідних параметрів - Встановіть прапорець preserveFormatting у false, якщо вам не потрібні точні стилі cell; це зменшує розмір передаваних даних і прискорює конвертацію.

Висновок

У цьому посібнику продемонстровано, як виконати конвертацію CSV у XLSX у Java за допомогою Aspose.HTML Cloud SDK for Java. Ви дізналися, як налаштувати Maven, читати дані CSV за допомогою потоків, викликати хмарний API та ефективно працювати з великими файлами. Пам’ятайте, що для використання у продакшн потрібна комерційна ліцензія; тимчасову ліцензію можна отримати на сторінці тимчасової ліцензії і переглянути повний перелік цінових варіантів на сторінці продукту. Маючи ці інструменти, ви можете інтегрувати безшовну функціональність конвертації CSV‑у‑XLSX у будь‑який Java‑додаток.

Питання та відповіді

  • Який найкращий спосіб обробляти CSV‑файли, які містять коми в лапках?
    Використовуйте надійний CSV‑парсер, наприклад Apache Commons CSV, перед передачею даних до API конвертації. Парсер враховує лапкові роздільники, забезпечуючи точне витягнення рядків.

  • Чи підтримує Aspose.HTML Cloud SDK вивід у форматі XLSX без проміжного кроку HTML?
    Так. Метод convertDocument може приймати необроблений CSV‑вміст і безпосередньо створювати файл XLSX, як показано у прикладах коду.

  • Чи можу я виконувати конвертацію локально, не використовуючи хмару?
    Aspose.HTML Cloud SDK є хмарним сервісом, тому потрібне підключення до інтернету та дійсні облікові дані. Для сценаріїв on‑premise розгляньте Aspose.Cells, який є окремим продуктом.

  • Як я можу відстежувати статус асинхронного запиту на конвертацію?
    API повертає ідентифікатор завдання, коли використовується async=true. Опитуйте кінцеву точку /jobs/{jobId}, щоб перевірити статус, а потім завантажте результат, коли завдання завершиться.

Додатково