การสร้างตัวอย่างภาพของข้อมูลสเปรดชีตเป็นความต้องการที่พบบ่อยเมื่อสร้างแดชบอร์ดรายงานหรือสรุปอีเมล Conholdate.Total for Java มี SDK ที่แข็งแกร่งซึ่งทำให้กระบวนการแปลง Excel เป็นภาพในแอปพลิเคชัน Java ง่ายขึ้น ในคู่มือนี้คุณจะได้เห็นวิธีโหลดเวิร์กบุ๊ก XLSX ตั้งค่าการส่งออกเป็น PNG และสร้างไฟล์ภาพสำหรับเวิร์กชีตทั้งหมด แผนภูมิ หรือช่วงเฉพาะ เมื่อเสร็จสิ้นคุณจะมีตัวอย่างโค้ดที่พร้อมใช้งานซึ่งสามารถปรับใช้กับโครงการของคุณได้

สิ่งที่การแปลงไฟล์ Excel เป็นภาพต้องการจากแอปพลิเคชันของคุณ

นักพัฒนามักต้องการแปลงเนื้อหาแผ่นงานเป็นภาพคงที่สำหรับการแสดงตัวอย่างบนเว็บ, รายงาน PDF หรือภาพย่อบนมือถือ ความต้องการมักรวมถึงการรักษาการจัดรูปแบบของ cell การเรนเดอร์แผนภูมิที่ฝังอยู่ และโดยอาจจำกัดการแปลงให้เฉพาะช่วงเดียว การจัดการงานเหล่านี้ด้วยตนเองโดยเปิด Excel, ถ่ายภาพหน้าจอ, และบันทึกไม่สามารถขยายได้และอาจทำให้ผลลัพธ์ไม่สอดคล้องกัน.

ข้อจำกัดทางเทคนิคสำหรับโซลูชันที่เชื่อถือได้คือ: รองรับไฟล์ XLSX, ความสามารถในการรวมแผนภูมิและสูตร, ความละเอียดของภาพที่กำหนดค่าได้, และการประมวลผลเป็นชุดของหลายแผ่นงาน. การแปลงต้องทำงานบนเซิร์ฟเวอร์หรือสภาพแวดล้อมเดสก์ท็อปโดยไม่ต้องใช้ Microsoft Office.

การเลือก Conholdate.Total for Java สำหรับงาน

Conholdate.Total for Java มี API แบบรวมเดียวที่ครอบคลุมความสามารถที่จำเป็นทั้งหมด. ExcelLoadOptions ของมันช่วยให้คุณโหลดแผนภูมิและสูตรได้, ในขณะที่ ImageConvertOptions ให้การควบคุมที่ละเอียดอ่อนเกี่ยวกับรูปแบบ, คุณภาพและมิติ. SDK ทำงานบน Java runtime ใดก็ได้, ต้องการเพียงการพึ่งพา Maven เท่านั้น, และจัดการกับเวิร์กบุ๊กขนาดใหญ่ได้อย่างมีประสิทธิภาพ.

สำหรับการใช้ API อย่างละเอียด ดูที่ เอกสารอย่างเป็นทางการ. การอ้างอิงเต็มสำหรับคลาสเช่น Conversion, ExcelLoadOptions และ ImageConvertOptions มีให้ใน อ้างอิง API. คุณสามารถดาวน์โหลดไลบรารีล่าสุดจาก หน้าปล่อย.

การแปลง Excel เป็นรูปภาพใน Java

กระบวนการแปลงสามารถแบ่งออกเป็นขั้นตอนที่ชัดเจนไม่กี่ขั้นตอน ส่วนต่อไปนี้จะพาคุณผ่านแต่ละส่วน พร้อมกับตัวอย่างโค้ดสั้น ๆ ที่นำมาจากตัวอย่างเต็ม

ติดตั้ง Conholdate.Total for Java via Maven

เพิ่มที่เก็บ Maven ของ Conholdate และการพึ่งพา SDK ไปยังไฟล์ pom.xml ของคุณ:

<repositories>
  <repository>
    <id>conholdate-repo</id>
    <name>Conholdate Maven Repository</name>
    <url>https://repository.conholdate.com/repo/</url>
  </repository>
</repositories>

<dependency>
  <groupId>com.conholdate</groupId>
  <artifactId>conholdate-total</artifactId>
  <version>24.9</version>
  <type>pom</type>
</dependency>

โหลดไฟล์ Excel พร้อมการสนับสนุนแผนภูมิและสูตร

สร้างอินสแตนซ์ ExcelLoadOptions เปิดการโหลดแผนภูมิและสูตร และเริ่มต้นอ็อบเจกต์ Conversion ด้วยสตรีมไฟล์:

ExcelLoadOptions loadOptions = new ExcelLoadOptions();
loadOptions.setLoadCharts(true);
loadOptions.setLoadFormulas(true);

Conversion conversion = new Conversion(new FileInputStream("input.xlsx"), loadOptions);

กำหนดค่าตัวเลือกการส่งออกภาพสำหรับ PNG

ตั้งค่ารูปแบบภาพ, คุณภาพ และขนาดตามต้องการ ความกว้างจะคงที่ในขณะที่ความสูงรักษาอัตราส่วนภาพไว้:

ImageConvertOptions imgOptions = new ImageConvertOptions();
imgOptions.setFormat(ImageConvertOptions.ImageFormat.PNG);
imgOptions.setQuality(90);
imgOptions.setWidth(1200);
imgOptions.setHeight(0); // preserve aspect ratio

แปลงแต่ละแผ่นงานหรือช่วงเป็นภาพ PNG

วนซ้ำผ่านหน้าเวิร์กบุ๊ก (แผ่นงาน) และแปลงแต่ละหน้า คุณยังสามารถกำหนดช่วงเฉพาะได้โดยปรับค่า pageNumber หรือใช้ตัวเลือกการโหลดเพิ่มเติม:

int pageCount = conversion.getPageCount();
for (int i = 1; i <= pageCount; i++) {
    imgOptions.setPageNumber(i);
    String outputPath = "output_images/sheet_" + i + ".png";
    conversion.convert(outputPath, imgOptions);
}

ตรวจสอบผลลัพธ์และจัดการข้อยกเว้น

ห่อหุ้มตรรกะการแปลงไว้ในบล็อก try‑catch และตรวจสอบให้แน่ใจว่าไดเรกทอรีผลลัพธ์มีอยู่ก่อนเริ่มต้น:

try {
    Files.createDirectories(Paths.get("output_images"));
    // conversion code here
    System.out.println("Excel to image conversion completed successfully.");
} catch (Exception ex) {
    System.err.println("Conversion failed: " + ex.getMessage());
    ex.printStackTrace();
}

ขั้นตอนข้างต้นแสดงให้เห็นวิธี แปลง Excel เป็นภาพ โดยใช้ Conholdate.Total SDK พร้อมให้ความยืดหยุ่นในการจัดการแผนภูมิ ช่วงข้อมูล และแผ่นงานเต็ม.

ตัวอย่างโค้ดเต็ม: แปลง Excel เป็นภาพพร้อมการสนับสนุนแผ่นงานเต็ม

โค้ดต่อไปนี้แสดงการนำไปใช้ที่สมบูรณ์และพร้อมทำงานตามที่อธิบายไว้ในขั้นตอนข้างต้น.

import java.io.FileInputStream;
import java.nio.file.Files;
import java.nio.file.Paths;

import com.groupdocs.conversion.Conversion;
import com.groupdocs.conversion.options.load.ExcelLoadOptions;
import com.groupdocs.conversion.options.convert.ImageConvertOptions;
import com.groupdocs.conversion.options.convert.ImageConvertOptions.ImageFormat;

public class ExcelToImageConverter {
    public static void main(String[] args) {
        String inputFile = "input.xlsx";
        String outputFolder = "output_images";

try {
            // Create output directory if it does not exist
            Files.createDirectories(Paths.get(outputFolder));

// Load options: include charts and formulas during conversion
            ExcelLoadOptions loadOptions = new ExcelLoadOptions();
            loadOptions.setLoadCharts(true);
            loadOptions.setLoadFormulas(true);

// Initialize conversion with the Excel file and load options
            try (Conversion conversion = new Conversion(new FileInputStream(inputFile), loadOptions)) {

// Determine how many pages (sheets) the workbook has
                int pageCount = conversion.getPageCount();

// Configure image output options
                ImageConvertOptions imgOptions = new ImageConvertOptions();
                imgOptions.setFormat(ImageFormat.PNG);   // Output format
                imgOptions.setQuality(90);               // Quality (relevant for JPEG)
                imgOptions.setWidth(1200);               // Desired width, height will keep aspect ratio
                imgOptions.setHeight(0);                 // 0 means preserve original aspect ratio

// Convert each sheet to a separate image file
                for (int i = 1; i <= pageCount; i++) {
                    imgOptions.setPageNumber(i);
                    String outputPath = outputFolder + "/sheet_" + i + ".png";
                    conversion.convert(outputPath, imgOptions);
                }
            }

System.out.println("Excel to image conversion completed successfully.");
        } catch (Exception ex) {
            System.err.println("Conversion failed: " + ex.getMessage());
            ex.printStackTrace();
        }
    }
}

หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ โปรดตรวจสอบให้แน่ใจว่าได้อัปเดตเส้นทางไฟล์ (input.xlsx, output_images) ให้ตรงกับตำแหน่งไฟล์จริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาทั้งหมดได้ติดตั้งอย่างถูกต้อง และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดอ้างอิงที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อทีม สนับสนุน เพื่อขอความช่วยเหลือ.

สรุป

การแปลง Excel เป็นภาพใน Java กลายเป็นเรื่องง่ายเมื่อคุณใช้ Conholdate.Total for Java. SDK จัดการการเรนเดอร์แผนภูมิ, การประเมินสูตร, และการส่งออก PNG คุณภาพสูงด้วยโค้ดเพียงเล็กน้อย. โดยทำตามคู่มือขั้นตอนต่อขั้นตอน คุณสามารถรวมความสามารถนี้เข้ากับเครื่องมือรายงาน, ตัวสร้างอีเมล, หรือแอปพลิเคชันใด ๆ ที่ต้องการการแสดงผลสเปรดชีตแบบภาพ. จำไว้ว่าการใช้งานในสภาพแวดล้อมการผลิตต้องมีใบอนุญาตเชิงพาณิชย์; คุณสามารถสำรวจตัวเลือกราคาได้ที่หน้า Conholdate.Total pricing และรับใบอนุญาตชั่วคราวจาก temporary license page ในระหว่างการประเมิน.

คำถามที่พบบ่อย

  • ฉันจะทำการแปลง Excel เป็นภาพใน Java ได้อย่างไร?
    ใช้คลาส Conversion จาก Conholdate.Total for Java, ตั้งค่า ExcelLoadOptions และ ImageConvertOptions, จากนั้นเรียก convert สำหรับแต่ละแผ่นงาน.

  • ฉันสามารถแปลงแผนภูมิ Excel เป็นรูปภาพได้หรือไม่?
    ใช่. เปิดการโหลดแผนภูมิด้วย loadOptions.setLoadCharts(true) และระบุหมายเลขหน้าของแผนภูมิเมื่อกำหนด imgOptions.setPageNumber.

  • เป็นไปได้หรือไม่ที่จะทำการแปลงเฉพาะช่วงของเซลล์เท่านั้น?
    คุณสามารถกำหนดช่วงในตัวเลือกการโหลดหรือเลือกหมายเลขหน้าที่เหมาะสมซึ่งสอดคล้องกับช่วงที่ต้องการก่อนทำการแปลงได้.

  • ต้องการใบอนุญาตอะไรสำหรับการใช้งานในผลิตภัณฑ์?
    จำเป็นต้องมีใบอนุญาตเชิงพาณิชย์ ตรวจสอบค่าใช้จ่ายได้ที่หน้า Conholdate.Total pricing และรับใบอนุญาตชั่วคราวจาก temporary license page.

อ่านเพิ่มเติม