ไฟล์ Excel (XLS, XLSX) และ PDF เป็นรูปแบบเอกสารที่ใช้กันอย่างแพร่หลายในเกือบทุกธุรกิจ สำหรับไฟล์ที่ใช้กันทั่วไป มีหลายสถานการณ์ที่เราจำเป็นต้องแปลงไฟล์หนึ่งเป็นรูปแบบอื่น ในบทความนี้ เราจะเรียนรู้วิธีต่างๆ ในการแปลงสเปรดชีต Excel เป็นรูปแบบ PDF โดยใช้ C# กับแอปพลิเคชัน .NET

แปลงสเปรดชีต Excel เป็น PDF โดยใช้ C#

.NET API สำหรับการแปลงไฟล์ Excel เป็น PDF

GroupDocs.Conversion มี API ที่อนุญาตให้แปลงไฟล์ Excel เป็นรูปแบบ PDF ภายในแอปพลิเคชัน .NET ในบทความนี้ เราจะใช้ GroupDocs.Conversion for .NET เพื่อแปลงข้อมูลไฟล์ Excel XLS/XLSX เป็นรูปแบบ PDF นอกจากนี้ API ยังรองรับการแปลงไฟล์รูปแบบอื่นๆ อีกมากมาย เช่น เอกสารประมวลผลคำ สเปรดชีต งานนำเสนอ eBook รูปภาพ และอื่นๆ ที่กล่าวถึงใน เอกสารประกอบ

คุณสามารถดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ MSI ได้จาก ส่วนการดาวน์โหลด หรือติดตั้ง API ในแอปพลิเคชัน .NET ของคุณผ่านทาง NuGet

PM> Install-Package GroupDocs.Conversion

แปลงแผ่นงาน Excel เป็น PDF - C#

ขั้นตอนต่อไปนี้แปลงสมุดงานทั้งหมด (ทุกแผ่น) เป็นรูปแบบ PDF โดยใช้ C#

  • เตรียมตัวเลือกการโหลดโดยใช้ SpreadsheetLoadOptions
  • โหลดสเปรดชีต Excel โดยใช้ Converter
  • เรียกใช้เมธอด Convert() โดยใช้ PdfConvertOptions เพื่อแปลงแผ่นงานทั้งหมดและบันทึกเป็นรูปแบบ PDF

ต่อไปนี้คือซอร์สโค้ด C# สำหรับวิธีแปลงสมุดงาน Excel ให้เป็น PDF ภายในแอปพลิเคชัน .NET

/*
 * แปลงแผ่นงาน Excel ทั้งหมดเป็นรูปแบบ PDF โดยใช้ C#
 */
// เตรียมตัวเลือกการโหลดและช่วงสำหรับไฟล์ XLSX ต้นทาง
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    OnePagePerSheet = true
};
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    // แปลงและบันทึกสเปรดชีตในรูปแบบ PDF
    converter.Convert(@"path/all-sheets-converted.pdf", new PdfConvertOptions());
}
แปลง PDF จากข้อมูล Excel

ลำดับของการแปลงแผ่นงาน Excel เป็น PDF - C#

ไม่จำเป็นต้องแปลงสมุดงานทั้งหมดเสมอไป นอกจากนี้เรายังสามารถแปลงจำนวนแผ่นต่อเนื่องกัน ต่อไปนี้เป็นขั้นตอนในการแปลงลำดับย่อยของแผ่นงานสมุดงาน Excel เป็นรูปแบบ PDF โดยใช้ C#

  • โหลดไฟล์ Excel โดยใช้ Converter
  • กำหนดตัวเลือกการแปลงโดยใช้ PdfConvertOptions
  • กำหนดหมายเลขแผ่นงานเริ่มต้นและจำนวนแผ่นต่อไปตามลำดับ
  • เรียกใช้เมธอด Convert() พร้อมตัวเลือกการแปลงเพื่อรับชุดย่อยของแผ่นงานตามลำดับที่บันทึกไว้ในรูปแบบ PDF

ต่อไปนี้คือซอร์สโค้ด C# ที่แปลงแผ่นงานตามลำดับ ได้แก่ แผ่นงานหมายเลข 2,3 และ 4 เป็น PDF ภายในแอปพลิเคชัน .NET

/*
 * แปลงลำดับของแผ่นงาน Excel เป็นรูปแบบ PDF โดยใช้ C#
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // กำหนดหมายเลขแผ่นงานเริ่มต้นและจำนวนแผ่นต่อเนื่อง
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
    };
    // แปลงและบันทึกสเปรดชีตในรูปแบบ PDF
    converter.Convert(@"path/sequential-sheets-converted.pdf", convertOptions);
}

แผ่นงาน Excel เฉพาะเพื่อการแปลง PDF - C#

เราสามารถจัดเตรียมรายการหมายเลขแผ่นงานสำหรับการแปลงแผ่นที่ต้องการได้ ต่อไปนี้เป็นขั้นตอนในการแปลงรายการหมายเลขแผ่นงานเป็นรูปแบบ PDF โดยใช้ C#

  • โหลดไฟล์สเปรดชีตโดยใช้ Converter
  • เลือกหมายเลขแผ่นงานและตั้งเป็นรายการโดยใช้ PdfConvertOptions
  • เรียกใช้เมธอด Convert() พร้อมตัวเลือกการแปลงเพื่อแปลงแผ่นงานที่แสดงเป็นรูปแบบ PDF

ข้อมูลโค้ด C# ต่อไปนี้แปลงแผ่นงานหมายเลข 1, 3 และ 5 เป็น PDF ภายในแอปพลิเคชัน .NET

/*
 * แปลงรายการแผ่นงาน Excel ที่ระบุเป็นรูปแบบ PDF โดยใช้ C#
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // ตั้งค่ารายการเป็นหมายเลขแผ่นเมื่อแปลง
    var convertOptions = new PdfConvertOptions()
    {
        Pages = new System.Collections.Generic.List<int> { 1,3,5}
    };
    // แปลงและบันทึกสเปรดชีตเป็นรูปแบบ PDF
    converter.Convert(@"path/selected-sheets-conversion.pdf", convertOptions);
}

แปลงช่วงเซลล์ที่เลือกของแผ่นงาน Excel เป็น PDF - C#

สุดท้ายแต่ไม่ท้ายสุด ในความเป็นจริงแล้ว สิ่งที่ยากที่สุดก็คือ เรายังสามารถแปลงช่วงเซลล์ใดๆ ของแผ่นงาน Excel ได้เกือบจะเหมือนกับวิธีอื่นๆ ต่อไปนี้เป็นขั้นตอนในการแปลงช่วงเซลล์ของแผ่นงานสมุดงานเป็นรูปแบบ PDF โดยใช้ C#

  • ประการแรก กำหนดช่วงเซลล์สำหรับการแปลงโดยใช้ SpreadsheetLoadOptions
  • โหลดไฟล์สเปรดชีตโดยใช้ Converter
  • เลือกแผ่นงานตามหมายเลขแผ่นงานหรือลำดับย่อยโดยใช้ PdfConvertOptions
  • เรียกใช้เมธอด Convert() ด้วยตัวเลือกการแปลงเพื่อแปลงช่วงเซลล์ที่เลือกของแผ่นงานที่เลือกเป็นรูปแบบ PDF

รหัสต่อไปนี้แปลงช่วงเซลล์ (A1:C20) ของแผ่นงานหมายเลข 2, 3 และ 4 เป็นรูปแบบ PDF โดยใช้ C#

/*
 * แปลงช่วงเซลล์ที่ระบุของแผ่นงาน Excel ที่ระบุเป็นรูปแบบ PDF โดยใช้ C#
 */
// เตรียมตัวเลือกการโหลดและช่วงสำหรับไฟล์ XLSX ต้นทาง
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    ConvertRange = "A1:C20"
};
using (var converter = new Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
        // หน้า = ใหม่ System.Collections.Generic.List<int> { 2,3,4}
    };
    // บันทึกเป็น PDF หลังจากการแปลง
    converter.Convert(@"path/cell-range-converted.pdf", convertOptions);
}

บทสรุป

โดยสรุป เราได้เรียนรู้วิธีต่างๆ ในการแปลงสเปรดชีต Excel เป็นรูปแบบ PDF โดยใช้ C# ประการแรก เรามองหาการแปลงสมุดงานทั้งหมดเป็นรูปแบบ PDF จากนั้นจึงแปลงลำดับย่อยของแผ่นงาน ต่อมา เราเรียนรู้วิธีแปลงแผ่นงานใดๆ โดยระบุรายการหมายเลขแผ่นงานที่ถูกต้อง และสุดท้าย เราได้รับไฟล์ PDF จากช่วงเซลล์ที่เลือกของแผ่นงานที่เลือก

เรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Conversion API จาก เอกสารประกอบ สำหรับข้อสงสัย ติดต่อเราผ่านทาง ฟอรัม

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