ฟรี .NET Library สำหรับสร้างเอกสารการประมวลผลคำ
อ่าน เขียน จัดการ และแปลงไฟล์ Word ผ่าน Open Source .NET API
NetOffice เป็น API แบบโอเพ่นซอร์สที่ช่วยให้นักพัฒนา .NET ทำงานอัตโนมัติของ Microsoft Office และพัฒนาโปรแกรมเสริมของ Microsoft Office เมื่อใช้ API นักพัฒนาสามารถใช้คุณลักษณะทั้งหมดที่รวมอยู่ใน MS Office เวอร์ชัน 2000, 2002, 2003, 2007, 2010, 2013 และ 2016 API นี้ใช้สถาปัตยกรรม COM ที่คุณดึงวัตถุพร็อกซี COM ในแอปพลิเคชันของคุณและคุณ ต้องทำให้วัตถุพร็อกซี่ COM ว่างทั้งหมด ข้อได้เปรียบหลักของการใช้ NetOffice คือความสามารถในการทำงานกับ Microsoft Office เวอร์ชันอื่นในคราวเดียว และมีกลไกการป้องกันสำหรับการจัดการพร็อกซี COM
เมื่อใช้ API คุณสามารถพัฒนาแอปพลิเคชันสำหรับระบบปฏิบัติการทั้งแบบ 32 บิตและ 64 บิต คุณสามารถใช้ชุดประกอบ NetOffice ได้ในทุกสถานการณ์โดยไม่ต้องกังวล API จัดเตรียมไลบรารีจำนวนมากเพื่อจัดการเอกสารสำนักงาน ในการทำงานกับเอกสาร Microsoft Word คุณต้อง WordApi.dll ที่มี OfficeApi.ddl, VBIDEApi.dll และ NetOffice.dll เป็นข้อมูลอ้างอิง
เริ่มต้นใช้งาน NetOffice
ก่อนอื่น คุณต้องมี .NET Framework 4.5 ขึ้นไป หลังจากนั้น โปรดดาวน์โหลดที่เก็บด้วยตนเองจาก GitHub หรือติดตั้งจาก NuGet
การติดตั้ง NetOffice จาก NuGet
Install-Package NetOfficeFw.Word
สร้างเอกสาร Word โดยใช้ C# API ฟรี
NetOffice อนุญาตให้โปรแกรมเมอร์ .NET สร้างไฟล์ Microsoft Word โดยทางโปรแกรม ในการสร้างและไฟล์ word ก่อนอื่น คุณต้องเริ่มต้นแอปพลิเคชัน Word และปิดกล่องข้อความ หลังจากเริ่มต้นแอปพลิเคชันคำแล้ว คุณสามารถเพิ่มเอกสารใหม่โดยใช้เมธอด WordApplicaiton.Documents.Add() คุณสามารถแทรกข้อความในไฟล์คำที่สร้างขึ้นใหม่โดยใช้เมธอด WrodApplication.Selection.TypeText() และตั้งค่าฟอนต์โดยใช้เมธอด WordApplicaiton.Selection.Font() เมื่อคุณทำเอกสารเสร็จแล้ว คุณสามารถบันทึกโดยใช้เมธอด Document.SaveAs()
สร้างเอกสาร Word ผ่าน NetOffice Library
// start word and turn off msg boxes
Word.Application wordApplication = new Word.Application();
wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;
// create a utils instance, no need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(wordApplication);
// add a new document
Word.Document newDocument = wordApplication.Documents.Add();
// insert some text
wordApplication.Selection.TypeText("This text is written by automation");
wordApplication.Selection.HomeKey(WdUnits.wdLine, WdMovementType.wdExtend);
wordApplication.Selection.Font.Color = WdColor.wdColorSeaGreen;
wordApplication.Selection.Font.Bold = 1;
wordApplication.Selection.Font.Size = 18;
// save the document
string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example01", DocumentFormat.Normal);
newDocument.SaveAs(documentFile);
// close word and dispose reference
wordApplication.Quit();
wordApplication.Dispose();
// show end dialog
HostApplication.ShowFinishDialog(null, documentFile);
สร้างตารางใน Word โดยใช้ C #
NetOffice อนุญาตให้โปรแกรมเมอร์ .NET เพิ่ม Tables ในไฟล์ Microsoft Word โดยทางโปรแกรม ในการเพิ่มตารางในไฟล์ Word ก่อน คุณต้องเริ่มต้นแอปพลิเคชัน Word และปิดกล่องข้อความและเพิ่มเอกสารใหม่โดยใช้เมธอด WordApplicaiton.Documents.Add() คุณสามารถแทรกตารางในไฟล์คำที่สร้างขึ้นใหม่โดยเริ่มต้น Word.Table และตั้งค่าช่วงของตารางโดยใช้เมธอด Tables.Add(wordApplication.Selection.Range, 3, 2) คุณสามารถแทรกข้อความในเซลล์ของคุณโดยการเลือกเซลล์ที่ต้องการโดยใช้ table.Cell(1, 1).Select() และแทรกข้อความในเซลล์นั้น เมื่อคุณทำเอกสารเสร็จแล้ว คุณสามารถบันทึกโดยใช้เมธอด Document.SaveAs()
สร้างตารางในไฟล์ Word ผ่าน .NET
Word.Application wordApplication = new Word.Application();
wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;
// create a utils instance, not need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(wordApplication);
// add a new document
Word.Document newDocument = wordApplication.Documents.Add();
// add a table
Word.Table table = newDocument.Tables.Add(wordApplication.Selection.Range, 3, 2);
// insert some text into the cells
table.Cell(1, 1).Select();
wordApplication.Selection.TypeText("This");
table.Cell(1, 2).Select();
wordApplication.Selection.TypeText("table");
table.Cell(2, 1).Select();
wordApplication.Selection.TypeText("was");
table.Cell(2, 2).Select();
wordApplication.Selection.TypeText("created");
table.Cell(3, 1).Select();
wordApplication.Selection.TypeText("by");
table.Cell(3, 2).Select();
wordApplication.Selection.TypeText("NetOffice");
// save the document
string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example02", DocumentFormat.Normal);
newDocument.SaveAs(documentFile);
// close word and dispose reference
wordApplication.Quit();
wordApplication.Dispose();
// show end dialog
HostApplication.ShowFinishDialog(null, documentFile);