การแปลง 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 ที่จำเป็น

  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 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 เสร็จสมบูรณ์

Read More