การส่งออกข้อมูลแผ่นงาน Excel ไปยังตาราง
การแนะนำ
คุณเคยจำเป็นต้องส่งออกข้อมูลจากเวิร์กชีต Excel ไปยังไฟล์ PDF ที่จัดเรียงอย่างเป็นระเบียบในรูปแบบตารางหรือไม่ ลองนึกภาพว่ามีข้อมูลจำนวนมากใน Excel แต่จำเป็นต้องแชร์เป็น PDF ที่ดูเป็นมืออาชีพ ดูสิ อาจฟังดูซับซ้อนใช่ไหม แต่ด้วย Aspose.PDF สำหรับ .NET คุณสามารถทำให้ภารกิจนี้กลายเป็นเรื่องง่ายได้ ในบทช่วยสอนนี้ เราจะแนะนำคุณเกี่ยวกับกระบวนการส่งออกข้อมูลเวิร์กชีต Excel ไปยังตารางภายในเอกสาร PDF โดยใช้ Aspose.PDF สำหรับ .NET เราจะอธิบายขั้นตอนต่างๆ ให้คุณทราบทีละขั้นตอน เพื่อให้แม้ว่าคุณจะเป็นมือใหม่ แต่คุณจะรู้สึกเหมือนเป็นผู้เชี่ยวชาญเมื่อทำเสร็จ
ข้อกำหนดเบื้องต้น
ก่อนที่เราจะเจาะลึกการเข้ารหัส เรามาตั้งค่าบางสิ่งบางอย่างกันก่อน:
- Aspose.PDF สำหรับไลบรารี .NET – ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งเวอร์ชันล่าสุดแล้ว คุณสามารถดาวน์โหลดได้ที่นี่.
- Aspose.Cells สำหรับไลบรารี .NET – คุณจะต้องใช้สิ่งนี้เพื่อจัดการการทำงานของ Excel ดาวน์โหลดได้จากที่นี่.
- สภาพแวดล้อมการพัฒนา .NET – เครื่องมือเช่น Visual Studio จะทำงานอย่างสมบูรณ์แบบสำหรับการเขียนโค้ด
- ไฟล์ Excel – มีไฟล์ Excel ที่มีข้อมูลที่คุณต้องการส่งออกให้พร้อมใช้งาน
หากคุณไม่มีไลบรารี Aspose.PDF และ Aspose.Cells คุณสามารถเริ่มต้นด้วยทดลองใช้งานฟรี.
แพ็คเกจนำเข้า
ในการเริ่มต้น ให้แน่ใจว่าคุณได้ติดตั้งไลบรารี Aspose.PDF และ Aspose.Cells ไว้ในโปรเจ็กต์ของคุณแล้ว คุณสามารถติดตั้งได้โดยใช้ตัวจัดการแพ็กเกจ NuGet ใน Visual Studio
วิธีการนำเข้าแพ็คเกจที่จำเป็นลงในโค้ด C# ของคุณมีดังนี้:
using System.Data;
using System.IO;
using System.Linq;
ตอนนี้เมื่อกำหนดข้อกำหนดเบื้องต้นเรียบร้อยแล้ว มาดูกระบวนการส่งออกข้อมูลจากแผ่นงาน Excel ไปยังตารางในเอกสาร PDF กัน
ขั้นตอนที่ 1: โหลดสมุดงาน Excel
ในการเริ่มต้น คุณต้องโหลดเวิร์กบุ๊ก Excel ของคุณลงในโปรแกรม ในขั้นตอนนี้ เราจะใช้ Aspose.Cells เพื่อเปิดไฟล์ Excel
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENT DIRECTORY";
// โหลดสมุดงาน Excel
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));
คำอธิบาย: ที่นี่ เราจะระบุเส้นทางไดเร็กทอรีที่ไฟล์ Excel ของเราตั้งอยู่และโหลดเวิร์กบุ๊กโดยใช้Aspose.Cells.Workbook
. อย่าลืมปรับให้เหมาะสม"YOUR DOCUMENT DIRECTORY"
เพื่อชี้ไปยังตำแหน่งไฟล์ของคุณ
ขั้นตอนที่ 2: เข้าถึงเวิร์กชีตแรก
หลังจากโหลดเวิร์กบุ๊กแล้ว เราต้องเข้าถึงเวิร์กชีตแรกซึ่งจัดเก็บข้อมูลของเราไว้
// การเข้าถึงแผ่นงานแรกในไฟล์ Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];
คำอธิบาย: ขั้นตอนนี้ตรงไปตรงมามาก—เราหยิบเวิร์กชีตแรกจากเวิร์กบุ๊กซึ่งมีข้อมูลที่จะส่งออก
ขั้นตอนที่ 3: ส่งออกข้อมูลไปยัง DataTable
ตอนนี้เรามาส่งออกข้อมูลจากแผ่นงาน Excel ไปยังวัตถุ DataTable ซึ่งจะทำหน้าที่เป็นตัวกลางในการถ่ายโอนข้อมูลไปยัง PDF
// การส่งออกเนื้อหา 7 แถวและ 2 คอลัมน์เริ่มจากเซลล์ที่ 1 ไปยัง DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);
คำอธิบาย :ExportDataTable
วิธีการนี้จะดึงข้อมูลโดยเริ่มจากเซลล์แรกของเวิร์กชีตและครอบคลุมทุกแถวและคอลัมน์ จากนั้นข้อมูลนี้จะถูกเก็บไว้ในDataTable
เพื่อใช้งานต่อไป.
ขั้นตอนที่ 4: สร้างเอกสาร PDF ใหม่
ต่อไปเราต้องสร้างเอกสาร PDF ใหม่โดยใช้ Aspose.PDF
// สร้างอินสแตนซ์เอกสาร
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document();
// สร้างหน้าในอินสแตนซ์เอกสาร
Aspose.Pdf.Page page = pdfDocument.Pages.Add();
คำอธิบาย: ที่นี่เราจะเริ่มต้นใหม่Aspose.Pdf.Document
และเพิ่มหน้าเข้าไป ในหน้านั้นจะมีตารางที่เราสร้างจากข้อมูล Excel ในภายหลัง
ขั้นตอนที่ 5: สร้างวัตถุตารางใน PDF
เรามาสร้างตารางภายในเอกสาร PDF กันต่อไป
// สร้างวัตถุตาราง
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// เพิ่มวัตถุตารางลงในคอลเล็กชั่นย่อหน้าของหน้า
page.Paragraphs.Add(table);
คำอธิบาย : เราสร้างAspose.Pdf.Table
วัตถุและเพิ่มลงในคอลเล็กชั่นย่อหน้าของหน้าซึ่งจะทำให้แน่ใจว่าตารางจะแสดงบนหน้า
ขั้นตอนที่ 6: ตั้งค่าความกว้างและขอบของคอลัมน์
ตารางใน PDF ต้องมีความกว้างของคอลัมน์ที่กำหนดไว้ นอกจากนี้ เราจะเพิ่มเส้นขอบเพื่อให้ตารางอ่านได้ง่ายขึ้น
// กำหนดความกว้างของคอลัมน์ของตาราง
table.ColumnWidths = "40 100 100";
// ตั้งค่าเส้นขอบเซลล์เริ่มต้น
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);
คำอธิบาย: เรากำหนดความกว้างของคอลัมน์ทั้งสามและให้เซลล์ทั้งหมดมีเส้นขอบเริ่มต้นที่มีความหนาเท่ากับ0.1F
.
ขั้นตอนที่ 7: นำเข้าข้อมูลจาก DataTable เข้าสู่ตาราง PDF
ตอนนี้ถึงเวลานำเข้าข้อมูลจาก DataTable เข้าสู่ตาราง PDF ของเราแล้ว
// นำเข้าข้อมูลลงในวัตถุตารางจาก DataTable
table.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);
คำอธิบาย :ImportDataTable
วิธีการถ่ายโอนข้อมูลทั้งหมดจากDataTable
ไปที่ตาราง PDF การดำเนินการนี้จะทำให้ตารางมีข้อมูลจากแผ่นงาน Excel ของคุณ
ขั้นตอนที่ 8: จัดรูปแบบแถวส่วนหัว
มาปรับแต่งสไตล์แถวส่วนหัวของตารางโดยการเปลี่ยนสีพื้นหลัง แบบอักษร และการจัดตำแหน่ง
// รับแถวแรกจากตาราง
Aspose.Pdf.Row headerRow = table.Rows[0];
// ตั้งค่ารูปแบบสำหรับแถวส่วนหัว
foreach (Aspose.Pdf.Cell cell in headerRow.Cells)
{
cell.BackgroundColor = Color.Blue;
cell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
cell.DefaultCellTextState.ForegroundColor = Color.Yellow;
cell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}
คำอธิบาย: เราวนซ้ำผ่านเซลล์ทั้งหมดในแถวแรก (ส่วนหัว) และตั้งค่าสีพื้นหลังเป็นสีน้ำเงิน สีข้อความเป็นสีเหลือง และจัดตำแหน่งข้อความให้ตรงกลาง
ขั้นตอนที่ 9: จัดแต่งทรงแถวที่เหลือ
เพื่อแยกความแตกต่างระหว่างส่วนหัวและแถวที่เหลือ เราจะเพิ่มรูปแบบที่แตกต่างกันให้กับแถวที่เหลือ
for (int i = 1; i <= dataTable.Rows.Count; i++)
{
foreach (Aspose.Pdf.Cell cell in table.Rows[i].Cells)
{
cell.BackgroundColor = Color.Gray;
cell.DefaultCellTextState.ForegroundColor = Color.White;
}
}
คำอธิบาย: สำหรับทุกแถว ยกเว้นส่วนหัว เราจะกำหนดพื้นหลังสีเทาและสีข้อความเป็นสีขาว
ขั้นตอนที่ 10: บันทึกเอกสาร PDF
สุดท้ายให้บันทึกเอกสาร PDF พร้อมตาราง
// บันทึกไฟล์ PDF
pdfDocument.Save(dataDir + "Exceldata_toPdf_table.pdf");
คำอธิบาย: เราบันทึก PDF ลงในไดเร็กทอรีที่ระบุ เท่านี้ข้อมูล Excel ของคุณก็อยู่ในตาราง PDF ที่มีรูปแบบสวยงามแล้ว
บทสรุป
และแล้วคุณก็ทำได้! เพียงไม่กี่ขั้นตอน คุณก็ส่งออกข้อมูลจากเวิร์กชีต Excel ไปยังตารางภายใน PDF โดยใช้ Aspose.PDF สำหรับ .NET ได้ คุณสามารถปรับแต่งผลลัพธ์และรับรองว่าข้อมูลของคุณจะดูสะอาดและเป็นมืออาชีพได้ โดยการแบ่งกระบวนการและจัดรูปแบบไปทีละขั้นตอน ดังนั้น ครั้งต่อไปที่ใครสักคนส่งไฟล์ Excel ให้คุณและขอรายงาน PDF คุณจะรู้ทันทีว่าต้องทำอย่างไร
คำถามที่พบบ่อย
ฉันสามารถปรับแต่งตารางเพิ่มเติมได้ไหม
แน่นอน! คุณสามารถปรับเปลี่ยนสี แบบอักษร การจัดตำแหน่ง และแม้แต่เพิ่มเส้นขอบให้กับเซลล์ที่ต้องการได้
Aspose.PDF สำหรับ .NET ฟรีหรือไม่?
มีการให้ทดลองใช้งานฟรี แต่หากต้องการใช้งานแบบขยายเวลา คุณจะต้องมีใบอนุญาต คุณสามารถซื้อที่นี่.
ฉันสามารถส่งออกเฉพาะแถวและคอลัมน์ที่เจาะจงได้หรือไม่
ใช่ คุณสามารถปรับเปลี่ยนพารามิเตอร์ในได้ExportDataTable
วิธีการส่งออกช่วงที่เฉพาะเจาะจง
วิธีนี้ใช้กับไฟล์ Excel ขนาดใหญ่ได้หรือไม่?
ใช่ Aspose.Cells ได้รับการออกแบบมาเพื่อจัดการกับไฟล์ Excel ขนาดใหญ่อย่างมีประสิทธิภาพ
ฉันจะเพิ่มหน้าเพิ่มเติมใน PDF ได้อย่างไร?
คุณสามารถใช้pdfDocument.Pages.Add()
เพื่อเพิ่มหน้าได้มากเท่าที่คุณต้องการ