แปลงแผนภูมิ Excel เป็น SVG โดยใช้ Java

SVG (Scalable Vector Graphics) คือรูปแบบภาพเวกเตอร์ที่ใช้ XML ซึ่งจัดเก็บภาพในรูปแบบกราฟิกเวกเตอร์สองมิติ รูปภาพ SVG สามารถแก้ไขได้ด้วยโปรแกรมแก้ไขข้อความใดก็ได้ เราสามารถแปลงแผนภูมิข้อมูลจากสมุดงาน Excel เป็นไฟล์ SVG โดยทางโปรแกรม ในบทความนี้ เราจะเรียนรู้วิธีแปลงแผนภูมิ Excel เป็น SVG โดยใช้ Java

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

Java API เพื่อแปลงแผนภูมิ Excel เป็น SVG

สำหรับการแปลงแผนภูมิจากไฟล์ XLSX เป็น SVG เราจะใช้ Aspose.Cells for Java API ช่วยให้สามารถดำเนินการคุณลักษณะการทำงานอัตโนมัติของ Excel โดยทางโปรแกรมโดยไม่ต้องใช้แอปพลิเคชัน Microsoft Excel โปรด ดาวน์โหลด JAR ของ API หรือเพียงเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.12</version>
</dependency>

แปลงแผนภูมิ Excel เป็น SVG ใน Java

เราสามารถแปลงแผนภูมิจากแผ่นงาน Excel เป็น SVG ได้โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส สมุดงาน
  2. ถัดไป ให้เข้าถึงเวิร์กชีตที่มีแผนภูมิเพื่อแปลงจากคอลเลกชั่นเวิร์กชีต ไม่ว่าจะตามดัชนี (แบบเป็นศูนย์) หรือตามชื่อ
  3. จากนั้น เข้าถึงแผนภูมิเพื่อแปลงตามดัชนี (เป็นศูนย์) จากคอลเลกชันแผนภูมิ
  4. หลังจากนั้น ให้ตั้งค่า ImageOrPrintOptions.setSaveFormat เป็น SVG
  5. สุดท้าย แปลงแผนภูมิเป็น SVG โดยใช้วิธี Chart.toImage() และบันทึกไฟล์เอาต์พุต

โค้ดตัวอย่างต่อไปนี้แสดงวิธีการแปลงแผนภูมิจาก Excel เป็น SVG โดยใช้ Java

// ตัวอย่างโค้ดนี้สาธิตวิธีการแปลงแผนภูมิจาก Excel เป็น SVG
// โหลดไฟล์ Excel ในวัตถุสมุดงาน
Workbook workbook = new Workbook("C:\\Files\\Cells\\Sample_Chart.xlsx");

// เข้าถึงแผ่นงานแรก
Worksheet worksheet = workbook.getWorksheets().get(0);

// เข้าถึงแผนภูมิแรกภายในแผ่นงาน
Chart chart = worksheet.getCharts().get(0);

// บันทึกแผนภูมิลงในรูปภาพในรูปแบบ SVG
ImageOrPrintOptions options = new ImageOrPrintOptions();
options.setSaveFormat(SaveFormat.SVG);

chart.toImage("C:\\Files\\Cells\\Sample_Chart_out.svg", options);
แปลงแผนภูมิ Excel เป็น SVG ใน Java

แปลงแผนภูมิ Excel เป็น SVG ใน Java

ส่งออกแผนภูมิและมาตราส่วน SVG เพื่อให้พอดีกับวิวพอร์ตใน Java

ใน XML แอตทริบิวต์ viewBox จะกำหนดตำแหน่งและมิติสำหรับเนื้อหาของวิวพอร์ต SVG เราสามารถส่งออกแผนภูมิใดๆ จากแผ่นงาน Excel ไปยัง SVG และตั้งค่าให้พอดีกับวิวพอร์ตโดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส สมุดงาน
  2. ถัดไป ให้เข้าถึงเวิร์กชีตที่มีแผนภูมิเพื่อแปลงจากคอลเลกชั่นเวิร์กชีต ไม่ว่าจะตามดัชนี (แบบเป็นศูนย์) หรือตามชื่อ
  3. จากนั้น เข้าถึงแผนภูมิเพื่อส่งออกตามดัชนี (เป็นศูนย์) จากคอลเลกชันแผนภูมิ
  4. ตั้งค่า ImageOrPrintOptions.setSaveFormat เป็น SVG
  5. หลังจากนั้น ให้ตั้งค่า ImageOrPrintOptions.setSVGFitToViewPort เป็นจริง
  6. สุดท้าย ให้เรียกใช้เมธอด Chart.toImage() เพื่อบันทึกไฟล์เอาต์พุต

โค้ดตัวอย่างต่อไปนี้แสดงวิธีการส่งออกแผนภูมิจาก Excel ไปยัง SVG เพื่อให้พอดีกับวิวพอร์ตโดยใช้ Java

// ตัวอย่างโค้ดนี้สาธิตวิธีการแปลงแผนภูมิจาก Excel เป็น SVG และตั้งค่าให้พอดีกับวิวพอร์ต
// โหลดไฟล์ Excel ในวัตถุสมุดงาน
Workbook workbook = new Workbook("C:\\Files\\Cells\\Sample_Chart.xlsx");

// เข้าถึงแผ่นงานแรก
Worksheet worksheet = workbook.getWorksheets().get(0);

// เข้าถึงแผนภูมิแรกภายในแผ่นงาน
Chart chart = worksheet.getCharts().get(0);

// ตั้งค่าตัวเลือกรูปภาพหรือการพิมพ์
// ด้วย SVGFitToViewPort จริง
ImageOrPrintOptions options = new ImageOrPrintOptions();
options.setSaveFormat(SaveFormat.SVG);
options.setSVGFitToViewPort(true);

chart.toImage("C:\\Files\\Cells\\Sample_Chart_ViewPort_out.svg", options);
ส่งออกแผนภูมิและมาตราส่วน SVG เพื่อให้พอดีกับวิวพอร์ตใน Java

ส่งออกแผนภูมิและมาตราส่วน SVG เพื่อให้พอดีกับวิวพอร์ตใน Java

รับใบอนุญาตฟรี

โปรดลองใช้ API โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีแปลงแผนภูมิจาก Excel เป็น SVG ใน Java เรายังได้เห็นวิธีการส่งออกแผนภูมิ Excel ไปยัง SVG เพื่อให้พอดีกับวิวพอร์ตโดยทางโปรแกรม นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Cells for Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม

ดูสิ่งนี้ด้วย