OLE ย่อมาจาก Object Linking and Embedding ให้บริการโดย Microsoft และอนุญาตให้คุณสร้างและแก้ไขเอกสารที่มีรายการหรือวัตถุที่สร้างโดยแอปพลิเคชันต่างๆ
ตัวอย่างเช่น คุณสามารถฝังสเปรดชีต รูปภาพ และคลิปเสียงเป็นวัตถุ OLE ในเอกสาร Word คุณสามารถใช้ออบเจกต์ OLE เหล่านี้ในเอกสาร Word และไม่ต้องกังวลกับการเปลี่ยนไปใช้หลายแอปพลิเคชันครั้งแล้วครั้งเล่า คุณสามารถฝังหรือแทรกวัตถุดังกล่าวโดยทางโปรแกรมโดยใช้ OLE ใน C#
บทความนี้จะแนะนำคุณเกี่ยวกับวิธีการ:
- แทรกวัตถุ OLE ลงในเอกสาร MS Word
- แทรกวัตถุ OLE ลงในสเปรดชีต Excel
- เพิ่มวัตถุ OLE ลงในงานนำเสนอ PowerPoint
ขั้นตอนในบทความนี้และตัวอย่างโค้ดใช้ GroupDocs.Merger for .NET ดังนั้นโปรดตรวจสอบให้แน่ใจว่าได้ติดตั้ง API จากวิธีใดๆ ต่อไปนี้:
แทรก PDF เป็นวัตถุ OLE ลงในเอกสาร MS Word ใน C#
ต่อไปนี้เป็นขั้นตอนและตัวอย่างโค้ด C# เพื่อแสดงวิธีการฝังไฟล์ PDF ลงในเอกสาร Word เป็นวัตถุ OLE:
- สร้างอินสแตนซ์ของ OleWordProcessingOptions ด้วยตัวเลือกการฝังและเอกสารที่จะฝังในเอกสาร Word
- ตอนนี้สร้างอินสแตนซ์ของวัตถุ Merger ด้วยเส้นทางหรือสตรีมเอกสาร Word ต้นทาง
- เรียกใช้เมธอด ImportDocument และส่งวัตถุของตัวเลือกการประมวลผลคำ OLE ที่กำหนดไว้ในขั้นตอนที่ 1
- แค่นั้นแหละ. เรียกเมธอด Save เพื่อรับเอกสาร Word ที่เป็นผลลัพธ์ซึ่งมีเอกสาร PDF เป็นวัตถุ OLE
// Embed a PDF file into a Word document as an OLE Object in C#
int pageNumber = 2;
OleWordProcessingOptions oleWordProcessingOptions = new OleWordProcessingOptions(@"embedded-doc.pdf", pageNumber)
{
Width = 300, // Just setting the height & width, you have more options.
Height = 300
};
// Use Merger class to start with source Word document and embed PDF as OLE object.
using (Merger merger = new Merger(@"source-doc.docx"))
{
merger.ImportDocument(oleWordProcessingOptions);
merger.Save(@"word-document-with-OLE.docx");
}
แทรกเอกสาร Word เป็นวัตถุ OLE ลงในสเปรดชีต Excel ใน C#
เราสามารถฝังวัตถุ OLE ลงในสเปรดชีต Excel ตัวอย่างรหัส CSharp และขั้นตอนด้านล่างอธิบายวิธีเพิ่มเอกสาร Word ลงในสเปรดชีต Excel เป็นวัตถุ OLE:
- สร้างอินสแตนซ์ของ OleSpreadsheetOptions ด้วยตัวเลือกการฝังและเอกสารที่จะฝังในสเปรดชีต Excel
- ตอนนี้สร้างอินสแตนซ์ของวัตถุ Merger ด้วยเส้นทางหรือสตรีมสเปรดชีตต้นทาง
- ตอนนี้เรียกเมธอด ImportDocument และส่งวัตถุของตัวเลือกสเปรดชีต OLE ที่ตั้งไว้ในขั้นตอนที่ 1
- สุดท้าย ให้เรียกเมธอด Save เพื่อให้ได้สเปรดชีต Excel ที่มีเอกสาร Word เป็นวัตถุ OLE
// Embed a Word file into an Excel Spreadsheet as an OLE Object in C#
int pageNumber = 2;
OleSpreadsheetOptions oleSpreadsheetOptions = new OleSpreadsheetOptions(@"embedded-doc.docx", pageNumber)
{
RowIndex = 2, // Setting the Row & height Index, you have more options.
ColumnIndex = 2
};
// Using Merger class with source spreadsheet and embedding a Word document as an OLE object.
using (Merger merger = new Merger(@"sample-doc.xlsx"))
{
merger.ImportDocument(oleSpreadsheetOptions);
merger.Save(@"excel-sheet-with-ole.xlsx");
}
เพิ่ม PDF เป็นวัตถุ OLE เพื่อนำเสนอ PowerPoint ใน C#
ในทำนองเดียวกัน ที่นี่เรากำลังแทรกวัตถุในงานนำเสนอ PowerPoint
- สร้างอินสแตนซ์ของ OlePresentationOptions ด้วยตัวเลือกการฝังและเอกสารที่จะฝังในงานนำเสนอ PowerPoint
- ตอนนี้สร้างอินสแตนซ์ของวัตถุ Merger ด้วยพาธหรือสตรีมการนำเสนอต้นทาง
- เรียกใช้เมธอด ImportDocument และส่งวัตถุของตัวเลือกการนำเสนอ OLE ที่กำหนดไว้ในขั้นตอนที่ 1
- สุดท้าย เรียกใช้เมธอด บันทึก เพื่อรับงานนำเสนอ PowerPoint ที่เป็นผลลัพธ์พร้อมเอกสาร PDF เป็นวัตถุ OLE
// Embed a PDF file into an Excel Spreadsheet as an OLE Object in C#
int pageNumber = 2;
OlePresentationOptions olePresentationOptions = new OlePresentationOptions(@"embedded.pdf", pageNumber)
{
X = 10, // Setting only X & Y coordinates, you can customize more.
Y = 10
};
// Using Merger class to embed a PDF file as an OLE object in the PowerPoint presentation.
using (Merger merger = new Merger(@"sample-presentation.ppt"))
{
merger.ImportDocument(olePresentationOptions);
merger.Save(@"powerpoint-presentation-with-ole.ppt");
}
บทสรุป
เราได้พูดถึงวิธีที่ง่ายและรวดเร็วในการแทรกวัตถุ OLE ในเอกสาร Word, Excel หรือ PowerPoint โดยทางโปรแกรมใน C# มีความแตกต่างเพียงเล็กน้อยในโค้ดสำหรับแต่ละวัตถุประสงค์ เช่น คลาสตัวเลือก OLE ที่แตกต่างกันและตัวเลือกสำหรับแต่ละรูปแบบไฟล์:
- OleWordProcessingOptions เพื่อฝังวัตถุ OLE ในเอกสาร Word
- OleSpreadsheetOptions เพื่อฝังวัตถุ OLE ในสเปรดชีต Excel
- OlePresentationOptions เพื่อฝังวัตถุ OLE ในงานนำเสนอ PowerPoint
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ API ได้จาก เอกสารประกอบ หรือมาคุยกันเพิ่มเติมที่ ฟอรัมสนับสนุนฟรี