Pustaka .NET untuk Mencipta Dokumen Pemprosesan Perkataan
Baca, Tulis, Manipulasi & Tukar fail Word, Buat Jadual dalam DOCX melalui Open Source .NET API.
Open XML SDK ialah API sumber terbuka, dibangunkan oleh Microsoft dan diedarkan di bawah kod tatakelakuan sumber terbuka Microsoft untuk memanipulasi Dokumen Pemprosesan Perkataan termasuk DOCX, DOTX, DOCM, DOTM format fail
Menggunakan API, anda boleh menambah teks, pengepala, pengaki, nota hujung, nota kaki, gaya, tema dan banyak lagi. Ia membolehkan anda menjana dokumen perkataan berprestasi tinggi dan mengekstrak data daripadanya. API menyokong pelbagai platform .NET termasuk, .NET 3.5, .NET 4.0, .NET 4.6 dan .NET Standard 1.3.
Bermula dengan Open XML SDK
Pertama sekali, anda perlu mempunyai .NET Framework 3.5 atau lebih tinggi. Selepas itu, sila muat turun repositori secara manual daripada GitHub atau pasangnya daripada NuGet.
Pemasangan Buka XML SDK daripada NuGet
Install-Package DocumentFormat.OpenXml
Manipulasi fail DOCX menggunakan C#
Open XML SDK membenarkan pengaturcara .NET mencipta serta mengubah suai pemprosesan perkataan daripada aplikasi .NET mereka sendiri. Untuk mengubah suai fail sedia ada, anda boleh membuka fail sedia ada dan menambahkan perubahan seperti teks, perenggan, jadual dan banyak lagi.
Tambah Perenggan dalam DOCX - C#
// Open an existing word processing document
using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open("fileformat.docx", true))
{
Body body = wordprocessingDocument.MainDocumentPart.Document.Body;
// Add paragraph
Paragraph para = body.AppendChild(new Paragraph());
Run run = para.AppendChild(new Run());
run.AppendChild(new Text("File Format Developer Guide"));
}
Buat Jadual dalam DOCX menggunakan C#
API membenarkan pembangun menambah jadual dalam dokumen Pemprosesan Kata. Anda boleh menambah jadual, tetapkan sifat jadual, tetapkan grid jadual dan sifat grid lajur. Tambahan pula, anda boleh mengurus sel jadual dan baris menggunakan kelas TableCell dan TableRow masing-masing.
Cipta Jadual dalam DOCX - C#
// Open an existing word processing document
using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open("fileformat.docx", true))
{
Body body = wordprocessingDocument.MainDocumentPart.Document.Body;
// Create a table.
Table table = new Table();
// Set the style and width for the table.
TableProperties tableProperties = new TableProperties();
TableStyle tableStyle = new TableStyle() { Val = "TableGrid" };
// Make the table width 100% of the page width.
TableWidth tableWidth = new TableWidth() { Width = "5000", Type = TableWidthUnitValues.Pct };
// Apply
tableProperties.Append(tableStyle, tableWidth);
table.AppendChild(tableProperties);
// Add columns
TableGrid tableGrid = new TableGrid(new GridColumn(), new GridColumn(), new GridColumn());
table.AppendChild(tableGrid);
// Create 1 row to the table.
TableRow tableRow = new TableRow();
// Add a cell to each column in the row.
TableCell tableCell = new TableCell(new Paragraph(new Run(new Text("Column 1"))));
TableCell tableCell1 = new TableCell(new Paragraph(new Run(new Text("Column 2"))));
//Append data
tableRow.Append(tableCell, tableCell1);
// Add row to the table.
table.AppendChild(tableRow);
// Add the table to the document
body.AppendChild(table);
}
Pengepala & Pengaki dalam Dokumen Pemprosesan Perkataan
Penyusunan dokumen yang betul adalah sangat penting dan merupakan keperluan setiap organisasi. Pengepala dan pengaki ialah bahagian penting dokumen yang boleh membantu menyusun dokumen pemprosesan perkataan dengan betul dengan meletakkan beberapa maklumat tambahan seperti tarikh yang berkaitan, topik, nama pengarang, gambar, nombor halaman dan sebagainya. Ia juga menyokong penambahan berbilang tajuk.
Urus Pengepala dalam Dokumen Word
public static void ApplyHeader(WordprocessingDocument doc)
{
// Get the main document part.
MainDocumentPart mainDocPart = doc.MainDocumentPart;
HeaderPart headerPart1 = mainDocPart.AddNewPart("r97");
Header header1 = new Header();
Paragraph paragraph1 = new Paragraph(){ };
Run run1 = new Run();
Text text1 = new Text();
text1.Text = "Header stuff";
run1.Append(text1);
paragraph1.Append(run1);
header1.Append(paragraph1);
headerPart1.Header = header1;
SectionProperties sectionProperties1 = mainDocPart.Document.Body.Descendants().FirstOrDefault();
if (sectionProperties1 == null)
{
sectionProperties1 = new SectionProperties() { };
mainDocPart.Document.Body.Append(sectionProperties1);
}
HeaderReference headerReference1 = new HeaderReference() { Type = HeaderFooterValues.Default, Id = "r97" };
sectionProperties1.InsertAt(headerReference1,0);
}
Urus Pengaki dalam Dokumen Word
public static void ApplyFooter(WordprocessingDocument doc)
{
// Get the main document part.
MainDocumentPart mainDocPart = doc.MainDocumentPart;
FooterPart footerPart1 = mainDocPart.AddNewPart("r98");
Footer footer1 = new Footer();
Paragraph paragraph1 = new Paragraph() { };
Run run1 = new Run();
Text text1 = new Text();
text1.Text = "Footer stuff";
run1.Append(text1);
paragraph1.Append(run1);
footer1.Append(paragraph1);
footerPart1.Footer = footer1;
SectionProperties sectionProperties1 = mainDocPart.Document.Body.Descendants().FirstOrDefault();
if (sectionProperties1 == null)
{
sectionProperties1 = new SectionProperties() { };
mainDocPart.Document.Body.Append(sectionProperties1);
}
FooterReference footerReference1 = new FooterReference() { Type = DocumentFormat.OpenXml.Wordprocessing.HeaderFooterValues.Default, Id = "r98" };
sectionProperties1.InsertAt(footerReference1, 0);
}