fileformat.words是一個開源庫,提供了一個免費的文字處理器模塊,該模塊可以在編程中允許您在Word Documents中添加/修改表。
概述
在數據表示方面,Word文檔* *中的一個 表被視為不可或缺的部分。它是最常見的文檔元素,在構建業務文檔方面提供了極大的便利。令人驚訝的是,您可以在Word文檔中創建一個表,而無需在本地計算機上使用或安裝MS Word。是的,讓我介紹一個 免費文字處理器 ,使您能夠以編程方式創建和操縱Word文檔。 .NET的FileFormat.Words是Word文檔處理的完整軟件包。因此,在此博客文章中,我們將使用此.NET庫FileFormat.Words學習如何在Word中製作表。 該博客文章涵蓋以下各節:
Word的表生成器 - API安裝
.NET的FileFormat.Words為MS Word處理提供了廣泛的功能。此開源API非常容易安裝。但是,您可以通過將以下命令運行到Nuget Package Manager中下載安裝的Nuget軟件包。
Install-Package FileFormat.Words
如何以編程方式在Word文檔中創建表
讓我們編寫一些代碼,以查看此開源 免費的Word Processo r。實際上,我們將看到如何使用fileformat.words庫在Word文檔中製作表。 請按照以下步驟和代碼段:
- 初始化文檔類的實例。
- 使用文檔類對象實例化Body類的構造函數。
- 創建表類的對象。
- 初始化topborder,bottomborder,Rightborder,leftborder,InsideverticalBorder和InsideHorizontalBorder類的構造函數初始化。設置桌子的各個邊界。
- 調用BASICBLACKSQUARES_BORDER方法來設置邊框樣式和邊界寬度。
- 創建tableborders類的實例。
- append topborder,bottomborder,rightborder,leftborder,insideverticalborder和insidehorizontalborder類的對像到tableborders類的對象。
- 初始化TableProperties類的實例。
- 調用tableproperties類的append將tableBorders類的對象附加。
- 創建tableJustification類的實例,然後調用AlignLeft方法將表放在文檔左側。
- 調用Append方法將tableJustification對象連接到TBLPROP對象。
- 表類的附錄柴爾德將表屬性附加到表。
- 創建Tablerow類的對像以創建一個表行。
- 初始化TableCell類的實例。
- 通過調用tableheaders方法來設置第一列的標題。
- 調用TableCell類的Append方法以在表單元格中添加文本。
- 創建tablecellproperties表屬性的對象
- 通過初始化TableCellWidth類的對象,並將其附加到TblcellProps對象,來設置表單元格的寬度。
- append方法將使用tablecell類的對象附加TBLCellProps對象。
- 調用Append方法將行添加到表中。
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Initialize an instance of the Document class.
using (Document doc = new Document())
{
// Instantiate the constructor of the Body class with the Document class object.
Body body = new Body(doc);
// Create an object of the Table class.
Table table = new Table();
// Initialize the constructor of the TopBorder class to set the border of the top side of the table.
TopBorder topBorder = new TopBorder();
// Invoke the basicBlackSquares_border method to set the border style and border line width.
topBorder.basicBlackSquares_border(20);
// To set the border of the bottom side of the table.
BottomBorder bottomBorder = new BottomBorder();
bottomBorder.basicBlackSquares_border(20);
// To set the border of the right side of the table.
RightBorder rightBorder = new RightBorder();
rightBorder.basicBlackSquares_border(20);
// To set the border of the left side of the table.
LeftBorder leftBorder = new LeftBorder();
leftBorder.basicBlackSquares_border(20);
// To set the inside vertical border of the table.
InsideVerticalBorder insideVerticalBorder = new InsideVerticalBorder();
insideVerticalBorder.basicBlackSquares_border(20);
// To set the inside vehorizontalrtical border of the table.
InsideHorizontalBorder insideHorizontalBorder = new InsideHorizontalBorder();
insideHorizontalBorder.basicBlackSquares_border(20);
// Create an instance of the TableBorders class.
TableBorders tableBorders = new TableBorders();
// Append the object of the TopBorder class to the object of the TableBorders class.
tableBorders.AppendTopBorder(topBorder);
// Append the object of the BottomBorder class.
tableBorders.AppendBottomBorder(bottomBorder);
// Append the object of the RightBorder class.
tableBorders.AppendRightBorder(rightBorder);
// Append the object of the LeftBorder class.
tableBorders.AppendLeftBorder(leftBorder);
// Append the object of the InsideVerticalBorder class.
tableBorders.AppendInsideVerticalBorder(insideVerticalBorder);
// Append the object of the InsideHorizontalBorder class.
tableBorders.AppendInsideHorizontalBorder(insideHorizontalBorder);
// Initialize an instance of the TableProperties class.
TableProperties tblProp = new TableProperties();
// Invoke the Append method to attach the object of the TableBorders class.
tblProp.Append(tableBorders);
// Create an instance of the TableJustification class
TableJustification tableJustification = new TableJustification();
// Call the AlignLeft method to position the table on left side of the document.
tableJustification.AlignLeft();
// Invoke the Append method to attach the tableJustification object to the tblProp object.
tblProp.Append(tableJustification);
// The AppendChild method will attach the table propertiese to the table.
table.AppendChild(tblProp);
// Create an object of the TableRow class to create a table row.
TableRow tableRow = new TableRow();
TableRow tableRow2 = new TableRow();
// Initialize an istance of the TableCell class.
TableCell tableCell = new TableCell();
Paragraph para = new Paragraph();
Run run = new Run();
// Set the header of the first column by invoking the TableHeaders method.
table.TableHeaders("Name");
run.Text = "Mustafa";
para.AppendChild(run);
// Call the Append method to add text inside the table cell.
tableCell.Append(para);
// Create an object of the TableCellProperties table properties
TableCellProperties tblCellProps = new TableCellProperties();
// Set the width of table cell by initializing the object of the TableCellWidth class and append to tblCellProps object.
tblCellProps.Append(new TableCellWidth("2400"));
// Append method will attach the tblCellProps object with the object of the TableCell class.
tableCell.Append(tblCellProps);
TableCell tableCell2 = new TableCell();
Paragraph para2 = new Paragraph();
Run run2 = new Run();
// set the header of the second column
table.TableHeaders("Nationality");
run2.Text = "Pakistani";
para2.AppendChild(run2);
tableCell2.Append(para2);
TableCellProperties tblCellProps2 = new TableCellProperties();
tblCellProps2.Append(new TableCellWidth("1400"));
tableCell2.Append(tblCellProps2);
TableCell tableCell3 = new TableCell();
Paragraph para3 = new Paragraph();
Run run3 = new Run();
table.TableHeaders("Age");
run3.Text = "30";
para3.AppendChild(run3);
tableCell3.Append(para3);
TableCellProperties tblCellProps3 = new TableCellProperties();
tblCellProps3.Append(new TableCellWidth("1400"));
tableCell3.Append(tblCellProps3);
// Call the Append method to add cells into table row.
tableRow.Append(tableCell);
tableRow.Append(tableCell2);
tableRow.Append(tableCell3);
// create table cell
TableCell _tableCell = new TableCell();
Paragraph _para = new Paragraph();
Run _run = new Run();
_run.Text = "sultan";
_para.AppendChild(_run);
_tableCell.Append(_para);
TableCellProperties tblCellProps1_ = new TableCellProperties();
tblCellProps1_.Append(new TableCellWidth("2400"));
_tableCell.Append(tblCellProps1_);
TableCell _tableCell2 = new TableCell();
Paragraph _para2 = new Paragraph();
Run _run2 = new Run();
_run2.Text = "British";
_para2.AppendChild(_run2);
_tableCell2.Append(_para2);
TableCellProperties tblCellProps2_ = new TableCellProperties();
tblCellProps2_.Append(new TableCellWidth("1400"));
_tableCell2.Append(tblCellProps2_);
TableCell _tableCell3 = new TableCell();
Paragraph _para3 = new Paragraph();
Run _run3 = new Run();
_run3.Text = "2";
_para3.AppendChild(_run3);
_tableCell3.Append(_para3);
TableCellProperties tblCellProps3_ = new TableCellProperties();
tblCellProps3_.Append(new TableCellWidth("1400"));
_tableCell3.Append(tblCellProps3_);
tableRow2.Append(_tableCell);
tableRow2.Append(_tableCell2);
tableRow2.Append(_tableCell3);
// Call the Append method to add the rows into table.
table.Append(tableRow);
table.Append(tableRow2);
// The AppendChild method will add the table to the body of the document.
body.AppendChild(table);
// The Save method will save the Word document onto the disk.
doc.Save("/Docs.docx");
}
}
}
}
上圖顯示了上述代碼段的輸出:
結論
這將我們帶到了本文的結尾,我們希望您使用fileformat.words庫在單詞 文檔中製作表。此外,如果您想在C#中構建用於Word文檔的表生成器,則本指南將為您提供幫助。此外,此 免費文字處理器**API是開源的,您可以找到其文檔此處。 最後,fileformat.com繼續寫有關其他主題的博客文章。此外,您可以在我們的社交媒體平台上關注我們,包括Facebook,LinkedIn和Twitter。
貢獻
由於.NET的FileFormat.Words是一個開源項目,可在GitHub上找到。因此,社區的貢獻非常感謝。
問一個問題
您可以在我們的論壇上讓我們知道您的問題或查詢。
##常見問題 - 常見問題{.wp-block-neading} 如何在Word文檔中創建表? 使用此開源.NET庫在Word文檔中創建表非常容易。此外,您可以探索此API 進一步。 如何在C#中創建DOCX文件? 請按照此鏈接進行詳細的代碼段,並在C#中創建DOCX文件的步驟。 如何在Word中創建自定義表格式? .NET的FileFormat.Words是一個免費的庫,它提供了以編程方式操縱和創建MS Word的功能。實際上,您可以探索此名稱空間FileFormat.Words.table以查看方法和屬性。