המרת נתוני JSON לגיליון Excel היא צורך נפוץ בעת דיווח או ניתוח מידע מובנה. Aspose.Words Cloud SDK for Java מספק API חזק מבוסס ענן שמפשט המרה זו ביישומי Java. במדריך זה נסקור כיצד להמיר JSON ל-XLSX ב-Java, כולל דוגמת קוד מלאה, קריאות REST מקבילות עם cURL, והמלצות חשובות של מיטב השיטות. בסיום תוכלו ליצור קבצי XLSX מכל מקור JSON ולטפל במבנים מקוננים בקלות.
יצירת XLSX מ-JSON באמצעות Java - דוגמת קוד מלאה
דוגמה זו מדגימה כיצד לקרוא קובץ 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.
- קבל אסימון גישה - ה-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"
- העלה את קובץ ה-JSON (ה-API מצפה למקור DOCX, ולכן אנו מעלה תחילה קובץ 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"
-
צור טבלה מ‑JSON - שלב זה מטופל על‑ידי ה‑SDK בקוד; עם ה‑REST API תצטרך להעלות קובץ DOCX שמולא מראש שכבר מכיל את הטבלה.
-
המר את ה‑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 ל‑XLSX ב‑Java - איך הקוד עובד
להלן פירוט תמציתי של החלקים המרכזיים בדוגמת Java.
- אתחול API -
WordsApi wordsApi = new WordsApi(clientId, clientSecret);יוצר לקוח מאומת.
WordsApi wordsApi = new WordsApi(clientId, clientSecret);
- קריאת JSON -
ObjectMapperממיר את קובץ ה-JSON לרשימת מפות, תוך שמירה על סדר השדות המקורי.
ObjectMapper mapper = new ObjectMapper();
List<Map<String, Object>> records = mapper.readValue(
new File(jsonPath),
mapper.getTypeFactory().constructCollectionType(List.class, Map.class));
- יצירת DOCX בענן -
CreateDocumentRequestיוצר DOCX ריק שיארח את הטבלה.
CreateDocumentRequest createRequest = new CreateDocumentRequest("temp.docx");
wordsApi.createDocument(createRequest);
- בניית שורת הכותרת - המפתחות של הרשומה הראשונה מגדירים את סדר העמודות, וכל מפתח הופך לתא כותרת.
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);
- הוספת שורות נתונים - כל אובייקט 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++;
}
- המרה ל‑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 עם מזהה לקוח וסוד לקוח.
- גישה לרשת ל-
api.aspose.cloud.
הגדר את ה‑SDK על‑ידי הגדרת המשתנים clientId ו‑clientSecret כפי שמוצג בדוגמת הקוד.
סיכום
המרת JSON ל‑XLSX ב‑Java הופכת לפשוטה עם Aspose.Words Cloud SDK for Java. הדוגמה המסופקת מנחה אותך בקריאת JSON, יצירת טבלת DOCX והמרתה למחברת XLSX, בעוד שקטע ה‑cURL מציג חלופה בלתי תלויה בשפה. זכור להשיג רישיון מתאים לשימוש בייצור; אתה יכול לצפות בתמחור בעמוד המוצר ולקבל רישיון זמני מדף רישיון זמני. עם הכלים האלה ביד, אתה יכול לאוטומט את יצירת דוחות Excel מכל מקור JSON במהירות ובאמינות.
שאלות נפוצות
איך אני ממיר JSON ל‑XLSX ב‑Java באמצעות Aspose.Words Cloud SDK for Java?
השתמש בדוגמת הקוד שלמעלה או ב‑REST API. ה‑SDK קורא JSON, יוצר טבלה ב‑DOCX, ולאחר מכן ממיר אותה ל‑XLSX בקריאה אחת ל‑API.
האם ה‑SDK יכול להתמודד עם מבני JSON מקוננים?
כן. יש לשטוח אובייקטים מקוננים לעמודות נפרדות לפני הוספת שורות, כפי שמודגם בקטע “טיפים מעשיים”.
האם אני צריך רישיון לפריסות בייצור?
רישיון תקף נדרש לייצור. אפשרויות הרכישה מפורטות בדף המוצר, ורישיון זמני זמין לבדיקות בדף רישיון זמני.
האם יש דרך לבצע את ההמרה מבלי לכתוב קוד Java?
בהחלט. דוגמת cURL מראה כיצד להשיג את אותה תוצאה דרך ה-REST API, שניתן לקרוא ממכל פלטפורמה.