ไฟล์ Excel (XLS, XLSX) และ PDF เป็นรูปแบบเอกสารที่ใช้กันอย่างแพร่หลายในเกือบทุกธุรกิจ สำหรับไฟล์ที่ใช้กันทั่วไป มีหลายสถานการณ์ที่เราจำเป็นต้องแปลงไฟล์หนึ่งเป็นรูปแบบอื่น ในบทความนี้ เราจะเรียนรู้วิธีต่างๆ ในการแปลงสเปรดชีต Excel เป็นรูปแบบ PDF โดยใช้ C# กับแอปพลิเคชัน .NET
- .NET API สำหรับการแปลงไฟล์ Excel เป็น PDF
- แปลงแผ่นงาน Excel เป็น PDF
- ลำดับของแผ่นงาน Excel เพื่อการแปลง PDF
- รายการเฉพาะของแผ่นงาน Excel เพื่อการแปลง PDF
- แปลงช่วงเซลล์ที่เลือกจากแผ่นงาน Excel เป็น PDF
.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());
}
ลำดับของการแปลงแผ่นงาน 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 จาก เอกสารประกอบ สำหรับข้อสงสัย ติดต่อเราผ่านทาง ฟอรัม