SVG (Scalable Vector Graphics) คือรูปแบบภาพเวกเตอร์ที่ใช้ XML ซึ่งจัดเก็บภาพในรูปแบบกราฟิกเวกเตอร์สองมิติ รูปภาพ SVG สามารถแก้ไขได้ด้วยโปรแกรมแก้ไขข้อความใดก็ได้ เราสามารถแปลงแผนภูมิข้อมูลจากสมุดงาน Excel เป็นไฟล์ SVG โดยทางโปรแกรม ในบทความนี้ เราจะเรียนรู้วิธีแปลงแผนภูมิ Excel เป็น SVG โดยใช้ Java
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- Java API เพื่อแปลงแผนภูมิ Excel เป็น SVG
- แปลงแผนภูมิ Excel เป็น SVG ใน Java
- ส่งออกแผนภูมิและมาตราส่วน SVG ให้พอดีกับวิวพอร์ต
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 ได้โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส สมุดงาน
- ถัดไป ให้เข้าถึงเวิร์กชีตที่มีแผนภูมิเพื่อแปลงจากคอลเลกชั่นเวิร์กชีต ไม่ว่าจะตามดัชนี (แบบเป็นศูนย์) หรือตามชื่อ
- จากนั้น เข้าถึงแผนภูมิเพื่อแปลงตามดัชนี (เป็นศูนย์) จากคอลเลกชันแผนภูมิ
- หลังจากนั้น ให้ตั้งค่า ImageOrPrintOptions.setSaveFormat เป็น SVG
- สุดท้าย แปลงแผนภูมิเป็น 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);
ส่งออกแผนภูมิและมาตราส่วน SVG เพื่อให้พอดีกับวิวพอร์ตใน Java
ใน XML แอตทริบิวต์ viewBox จะกำหนดตำแหน่งและมิติสำหรับเนื้อหาของวิวพอร์ต SVG เราสามารถส่งออกแผนภูมิใดๆ จากแผ่นงาน Excel ไปยัง SVG และตั้งค่าให้พอดีกับวิวพอร์ตโดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส สมุดงาน
- ถัดไป ให้เข้าถึงเวิร์กชีตที่มีแผนภูมิเพื่อแปลงจากคอลเลกชั่นเวิร์กชีต ไม่ว่าจะตามดัชนี (แบบเป็นศูนย์) หรือตามชื่อ
- จากนั้น เข้าถึงแผนภูมิเพื่อส่งออกตามดัชนี (เป็นศูนย์) จากคอลเลกชันแผนภูมิ
- ตั้งค่า ImageOrPrintOptions.setSaveFormat เป็น SVG
- หลังจากนั้น ให้ตั้งค่า ImageOrPrintOptions.setSVGFitToViewPort เป็นจริง
- สุดท้าย ให้เรียกใช้เมธอด 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);
รับใบอนุญาตฟรี
โปรดลองใช้ API โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีแปลงแผนภูมิจาก Excel เป็น SVG ใน Java เรายังได้เห็นวิธีการส่งออกแผนภูมิ Excel ไปยัง SVG เพื่อให้พอดีกับวิวพอร์ตโดยทางโปรแกรม นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Cells for Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม