การแปลง CSV เป็น XLSX ใน Java เป็นความต้องการที่พบบ่อยเมื่อแอปพลิเคชันต้องแลกเปลี่ยนข้อมูลกับผู้ใช้ Excel. Aspose.HTML Cloud SDK for Java ให้ API บนคลาวด์ที่มีประสิทธิภาพซึ่งจัดการการแปลงนี้ได้อย่างมีประสิทธิผล. ในคู่มือนี้คุณจะได้เห็นวิธีตั้งค่า Maven dependency, อ่านข้อมูล CSV ด้วย streams, สร้างไฟล์ XLSX workbook, และเรียกใช้การแปลงผ่าน REST API. เมื่อเสร็จสิ้นคุณจะมีตัวอย่างที่สมบูรณ์พร้อมใช้งานในระดับ production ที่คุณสามารถปรับใช้กับโครงการของคุณเองได้.
ข้อกำหนดเบื้องต้นและการตั้งค่า
ก่อนที่คุณจะเริ่มต้น, ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- ติดตั้ง Java 17 หรือใหม่กว่า
- มีบัญชี Aspose Cloud พร้อม client ID และ client secret
- ติดตั้ง Maven สำหรับการจัดการ dependencies
เพิ่ม 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 ที่จำเป็น
- รับรองความถูกต้องและรับโทเคนการเข้าถึง
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 ที่คุณจะใช้ในการเรียกต่อไป
- อัปโหลดไฟล์ 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"
- ดำเนินการแปลง
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
- ดาวน์โหลดไฟล์ 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 Input - ใช้
Files.linesหรือ buffered reader เพื่อประมวลผลแถวทีละแถวแทนการโหลดไฟล์ทั้งหมดเข้าสู่หน่วยความจำ. - อัปโหลดเป็นชุด - เมื่อทำงานกับไฟล์ที่ใหญ่กว่า 100 MB ให้แบ่ง CSV เป็นชิ้นย่อยแล้วแปลงแต่ละชิ้นแยกกัน จากนั้นรวมส่วน XLSX ที่ได้หากจำเป็น.
- เปิดการแปลงแบบอะซิงโครนัส - เพิ่มพารามิเตอร์ query
async=trueไปยังคำขอแปลงเพื่อให้บริการคลาวด์ประมวลผลไฟล์ในพื้นหลัง ลดเวลาการรอของฝั่งไคลเอนต์. - ปรับการตั้งค่าเอาต์พุต - ตั้งค่าแฟล็ก
preserveFormattingเป็นfalseหากคุณไม่ต้องการสไตล์ cell ที่แม่นยำ; นี้จะลดขนาด payload และเร่งความเร็วการแปลง.
สรุป
คู่มือนี้แสดงวิธีการแปลง CSV เป็น XLSX ใน Java โดยใช้ Aspose.HTML Cloud SDK for Java. คุณได้เรียนรู้วิธีการกำหนดค่า Maven, อ่านข้อมูล CSV ด้วยสตรีม, เรียกใช้ API ของคลาวด์, และจัดการไฟล์ขนาดใหญ่อย่างมีประสิทธิภาพ. จำไว้ว่าใบอนุญาตเชิงพาณิชย์จำเป็นสำหรับการใช้งานในสภาพแวดล้อมการผลิต; คุณสามารถรับใบอนุญาตชั่วคราวจาก หน้าใบอนุญาตชั่วคราว และตรวจสอบตัวเลือกการกำหนดราคาฉบับเต็มบนหน้าผลิตภัณฑ์. ด้วยเครื่องมือเหล่านี้ คุณสามารถผสานรวมฟังก์ชันการแปลง CSV‑to‑XLSX อย่างราบรื่นเข้าสู่แอปพลิเคชัน Java ใดก็ได้.
คำถามที่พบบ่อย
-
วิธีที่ดีที่สุดในการจัดการไฟล์ CSV ที่มีเครื่องหมายคอมม่าอยู่ในฟิลด์ที่อยู่ในเครื่องหมายคำพูดคืออะไร?
ใช้ตัวแยก CSV ที่มีความทนทานเช่น Apache Commons CSV ก่อนส่งข้อมูลไปยัง API การแปลง ตัวแยกนี้เคารพตัวคั่นที่อยู่ในเครื่องหมายคำพูด เพื่อให้การสกัดแถวทำได้อย่างแม่นยำ -
Aspose.HTML Cloud SDK รองรับการส่งออกเป็น XLSX โดยไม่ต้องผ่านขั้นตอน HTML กลางหรือไม่?
ใช่. เมธอดconvertDocumentสามารถรับเนื้อหา CSV ดิบและสร้างไฟล์ XLSX โดยตรงตามที่แสดงในตัวอย่างโค้ด -
ฉันสามารถรันการแปลงโดยทำงานในเครื่องโดยไม่ใช้คลาวด์ได้หรือไม่?
Aspose.HTML Cloud SDK เป็นบริการแบบ cloud‑based ดังนั้นจึงต้องการการเชื่อมต่ออินเทอร์เน็ตและข้อมูลประจำตัวที่ถูกต้อง สำหรับสถานการณ์ on‑premise ให้พิจารณา Aspose.Cells ซึ่งเป็นผลิตภัณฑ์แยกต่างหาก -
ฉันจะตรวจสอบสถานะของคำขอการแปลงแบบอะซิงโครนัสได้อย่างไร?
API จะคืนค่า job ID เมื่อใช้async=trueทำการ poll ที่ endpoint/jobs/{jobId}เพื่อตรวจสอบสถานะ แล้วดาวน์โหลดผลลัพธ์เมื่อ job เสร็จสมบูรณ์