JSON-ის მონაცემების Excel-ის ცხრილში გადაყვანა ხშირად საჭიროა ანგარიშის ან სტრუქტურირებული ინფორმაციის ანალიზისას. Aspose.Words Cloud SDK for Java უზრუნველყოფს ძლიერი ღრუბლოვანი API-ს, რომელიც ადვილად აძლიერებს ამ კონვერტაციას Java აპლიკაციებში. ამ სახელმძღვანელოში ჩვენ გავითვალისწინებთ, როგორ JSON-ის გადაყვანა XLSX Java-ში, სრულ კოდის მაგალითის, შესაბამისი REST მოთხოვნების cURL-ით, და მნიშვნელოვანი საუკეთესო პრაქტიკის რეკომენდაციებით. საბოლოოდ, შეძლებთ შექმნათ XLSX ფაილები ნებისმიერი JSON წყაროდან და მარტივად მართოთ ნესტირებული სტრუქტურები.

Java-ით JSON-დან XLSX-ის გენერირება - სრულყოფილი კოდის მაგალითი

ეს მაგალითი აჩვენებს, როგორ წაიკითხოთ JSON ფაილი, შექმნათ DOCX ცხრილი და გადაყვანა XLSX ფორმატში, იყენებთ Aspose.Words Cloud SDK for Java.

import com.aspose.words.cloud.*;
import com.aspose.words.cloud.model.*;
import com.aspose.words.cloud.api.*;
import com.aspose.words.cloud.auth.*;
import com.fasterxml.jackson.databind.*;
import java.io.*;
import java.util.*;

public class JsonToXlsxConverter {
    public static void main(String[] args) throws Exception {
        // Initialize API
        String clientId = "YOUR_CLIENT_ID";
        String clientSecret = "YOUR_CLIENT_SECRET";
        WordsApi wordsApi = new WordsApi(clientId, clientSecret);
        
        // Paths
        String jsonPath = "data.json";
        String tempDocxPath = "temp.docx";
        String outputXlsxPath = "output.xlsx";
        
        // Read JSON
        ObjectMapper mapper = new ObjectMapper();
        List<Map<String, Object>> records = mapper.readValue(new File(jsonPath),
                mapper.getTypeFactory().constructCollectionType(List.class, Map.class));
        
        // Define column order (keys from first record)
        List<String> columns = new ArrayList<>(records.get(0).keySet());
        
        // Create empty DOCX in cloud
        CreateDocumentRequest createRequest = new CreateDocumentRequest("temp.docx");
        wordsApi.createDocument(createRequest);
        
        // Build table rows
        TableRowInsert requestRow = new TableRowInsert();
        // First row - header
        TableRow headerRow = new TableRow();
        List<TableCell> headerCells = new ArrayList<>();
        for (String col : columns) {
            TableCell cell = new TableCell();
            cell.setText(col);
            headerCells.add(cell);
        }
        headerRow.setTableCellList(headerCells);
        // Insert header row at position 0
        InsertTableRowRequest insertHeader = new InsertTableRowRequest("temp.docx", 0, headerRow);
        wordsApi.insertTableRow(insertHeader);
        
        // Insert data rows
        int rowIndex = 1;
        for (Map<String, Object> rec : records) {
            TableRow dataRow = new TableRow();
            List<TableCell> dataCells = new ArrayList<>();
            for (String col : columns) {
                TableCell cell = new TableCell();
                cell.setText(String.valueOf(rec.get(col)));
                dataCells.add(cell);
            }
            dataRow.setTableCellList(dataCells);
            InsertTableRowRequest insertRow = new InsertTableRowRequest("temp.docx", rowIndex, dataRow);
            wordsApi.insertTableRow(insertRow);
            rowIndex++;
        }
        
        // Convert DOCX to XLSX
        ConvertDocumentRequest convertRequest = new ConvertDocumentRequest("temp.docx", "xlsx");
        byte[] xlsxBytes = wordsApi.convertDocument(convertRequest);
        try (FileOutputStream fos = new FileOutputStream(outputXlsxPath)) {
            fos.write(xlsxBytes);
        }
    }
}

შენიშვნა: ეს კოდის მაგალითი აჩვენებს ძირითად ფუნქციას. თქვენს პროექტში მისი გამოყენებამდე დარწმუნდით, რომ განაახლეთ ყველა ფაილის ბილიკი და კონფიგურაციის მნიშვნელობები, რათა დაემთხვეს თქვენს რეალურ გარემოს, გადაამოწმეთ, რომ ყველა საჭირო დამოკიდებულება სწორად დაინსტალირებულია, და სრულად დატესტეთ თქვენი განვითარების გარემოში. თუ რაიმე პრობლემა შეხვდებათ, გთხოვთ მიმართოთ ოფიციალურ დოკუმენტაციას ან დაუკავშირდეთ მხარდაჭერის გუნდს დახმარებისთვის.

JSON-დან XLSX ფორმატში კონვერტირება REST API-ის საშუალებით cURL-ის გამოყენებით

იგივე კონვერსია შეიძლება შესრულდეს Java კოდის დაწერის გარეშე, Aspose.Words Cloud REST API პირდაპირ გამოძახებით.

  1. მიღეთ წვდომის ტოკენი - API იყენებს OAuth 2.0.
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"
  1. JSON ფაილის ატვირთვა (API ითხოვს DOCX წყაროს, ამიტომ პირველ რიგში ატვირთავთ placeholder DOCX-ს.)
curl -X PUT "https://api.aspose.cloud/v4.0/words/temp.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
     --data-binary "@temp.docx"
  1. JSON‑დან ცხრილის შექმნა - ეს ნაბიჯი SDK‑ის მიერ კოდში შესრულდება; REST API‑ით თქვენ უნდა ატვირთოთ წინასწარ შევსებული DOCX, რომელიც უკვე შეიცავს ცხრილს.

  2. გარდაქმენი DOCX‑ის XLSX-ში.

curl -X GET "https://api.aspose.cloud/v4.0/words/temp.docx?format=xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

პარამეტრების სრული სიისთვის იხილეთ ოფიციალური API დოკუმენტაცია.

JSON-ის Java-ში XLSX-ში გადაყვანა - როგორ მუშაობს კოდი

ქვემოთ მოცემულია Java მაგალითის ძირითადი განყოფილებების მოკლე მიმოხილვა.

  1. API ინიციალიზაცია - WordsApi wordsApi = new WordsApi(clientId, clientSecret); ქმნის აუტენტიფიცირებულ კლიენტს.
WordsApi wordsApi = new WordsApi(clientId, clientSecret);
  1. JSON-ის წაკითხვა - ObjectMapper დესერიალიზებს JSON ფაილს სიად მეპებზე, ორიგინალური ველის რიგის შენარჩუნებით.
ObjectMapper mapper = new ObjectMapper();
List<Map<String, Object>> records = mapper.readValue(
        new File(jsonPath),
        mapper.getTypeFactory().constructCollectionType(List.class, Map.class));
  1. DOCX-ის შექმნა ღრუბელში - CreateDocumentRequest ქმნის ცარიელ DOCX-ს, რომელიც მასზე დაიმატებს ცხრილს.
CreateDocumentRequest createRequest = new CreateDocumentRequest("temp.docx");
wordsApi.createDocument(createRequest);
  1. Header row-ის შექმნა - პირველი ჩანაწერის გასაღებები განსაზღვრავს სვეტების მიმდევრულობას, და თითოეული გასაღები ხდება header უჯრა.
TableRow headerRow = new TableRow();
List<TableCell> headerCells = new ArrayList<>();
for (String col : columns) {
    TableCell cell = new TableCell();
    cell.setText(col);
    headerCells.add(cell);
}
headerRow.setTableCellList(headerCells);
InsertTableRowRequest insertHeader = new InsertTableRowRequest("temp.docx", 0, headerRow);
wordsApi.insertTableRow(insertHeader);
  1. მონაცემთა რიგების შეყვანა - თითოეული JSON ობიექტი გადაყვანილია TableRow-ში, სადაც თითოეული უჯრედი იღებს შესაბამისი მნიშვნელობის სტრინგის წარმოდგენას.
for (Map<String, Object> rec : records) {
    TableRow dataRow = new TableRow();
    List<TableCell> dataCells = new ArrayList<>();
    for (String col : columns) {
        TableCell cell = new TableCell();
        cell.setText(String.valueOf(rec.get(col)));
        dataCells.add(cell);
    }
    dataRow.setTableCellList(dataCells);
    InsertTableRowRequest insertRow = new InsertTableRowRequest("temp.docx", rowIndex, dataRow);
    wordsApi.insertTableRow(insertRow);
    rowIndex++;
}
  1. XLSX-ზე გადაყვანა - ConvertDocumentRequest სერვერს აძლევს ინსტრუქციას დროებით DOCX ფაილის XLSX ფორმატში გადაყვანის, რომელიც შემდეგ ლოკალურად ჩაიწერება.
ConvertDocumentRequest convertRequest = new ConvertDocumentRequest("temp.docx", "xlsx");
byte[] xlsxBytes = wordsApi.convertDocument(convertRequest);

დეტალური API-ის დოკუმენტაციისთვის, ეწვიეთ Aspose.Words Cloud API Reference.

დაყენება და კონფიგურაცია Aspose.Words Cloud SDK for Java

დაამატეთ Maven‑ის დამოკიდებულება თქვენი პროექტის pom.xml-ში:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words-cloud</artifactId>
    <version>26.9.0</version>
</dependency>

თუ გინდათ ხელით დაყენება, გადმოწერეთ უახლესი JAR-ები ჩამოტვირთვის გვერდიდან.
მინიმალური მოთხოვნები:

  • Java 8 ან უფრო მაღალი.
  • Aspose Cloud ანგარიში, client ID‑სა და client secret‑სა მქონეთ.
  • ქსელის წვდომა api.aspose.cloud-ზე.

SDK-ს კონფიგურაცია მოხდება clientId და clientSecret ცვლადების დაყენებით, როგორც ნაჩვენებია კოდის მაგალითში.

დასკვნა

JSON‑ის XLSX ფორმატში გადაყვანა Java-ში ხდება მარტივი Aspose.Words Cloud SDK for Java‑ის დახმარებით. მოწოდებული მაგალითი გეხმარებათ JSON‑ის წაკითხვაში, DOCX‑ის ცხრილის შექმნაში და მისი XLSX სამუშაო წიგნის ფორმატში გადაყვანაში, ხოლო cURL‑ის განყოფილება აჩვენებს ენისგან დამოუკიდებელ ალტერნატივას. გახსოვდეთ, რომ წარმოებაში გამოყენებისთვის საჭიროა სწორი ლიცენზია; შეგიძლიათ ნახოთ ფასები პროდუქტის გვერდზე და მიიღოთ დროებით ლიცენზია დროებით ლიცენზიის გვერდიდან. ამ ინსტრუმენტებით შეგიძლიათ სწრაფად და საიმედოდ ავტომატიზირება Excel‑ის ანგარიშის გენერირება ნებისმიერი JSON წყაროდან.

ხშირად დასმული კითხვები

Java-ში Aspose.Words Cloud SDK for Java-ის გამოყენებით, როგორ გადავიტანო JSON XLSX ფორმატში?
გამოიყენეთ ზემოთ მოცემული კოდის ნიმუში ან REST API. SDK-მა JSON-ს იკითხავს, ქმნის DOCX ცხრილს, შემდეგ კი ერთ API-ით გადაყვანის XLSX ფორმატში.

SDK-ს შეუძლია ნესტირებული JSON სტრუქტურების დამუშავება?
დიახ. ბრტყელ ფორმაში გადატრიალეთ ნესტირებული ობიექტები ცალკე სვეტებში, რიგების შეყვანის წინ, როგორც წარმოდგენილია “Practical Tips” განყოფილებაში.

მჭირდება ლიცენზია წარმოების განსახორციელებლად?
წარმოებისათვის საჭიროა სწორი ლიცენზია. შეძენის არჩევანები მითითებულია პროდუქტის გვერდზე, ხოლო დროებით ლიცენზია ხელმისაწვდომია ტესტირებისთვის დროებითი ლიცენზიის გვერდზე.

Java კოდის დაწერის გარეშე კონვერტაციის შესრულების გზა არსებობს?
რა თქმა უნდა. cURL-ის მაგალითი აჩვენებს, როგორ შეიძლება იგივე შედეგის მიღება REST API-ის საშუალებით, რომელიც შეიძლება გამოძახებული იყოს ნებისმიერი პლატფორმისგან.

მეტი