C# 如何添加表格到Word文档

表格是组织整理数据的一种重要手段,应在生活中的方方面面。在Word文档中将繁杂的文字表述内容表格化,能快速、直接地获取关键内容信息。那么,通过C#,我们也可以在Word文档中添加表格,这里将介绍两种不同的表格添加方法。

使用工具Spire.Doc for .NET

使用方法:安装后,添加引用dll文件到项目中即可

表格添加方法一:动态地向Word添加表格行和单元格内容,需调用方法section. AddTable()、table. AddRow和row. AddCell()

using System;
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;

namespace CreateTable_Doc
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Document类实例,并添加section
            Document doc = new Document();
            Section section = doc.AddSection();

            //添加表格
            Table table = section.AddTable(true);

            //添加表格第1行
            TableRow row1 = table.AddRow();

            //添加第1个单元格到第1行
            TableCell cell1 = row1.AddCell();
            cell1.AddParagraph().AppendText("序列号");

            //添加第2个单元格到第1行
            TableCell cell2 = row1.AddCell();
            cell2.AddParagraph().AppendText("设备名称");

            //添加第3个单元格到第1行
            TableCell cell3 = row1.AddCell();
            cell3.AddParagraph().AppendText("设备型号");

            //添加第4个单元格到第1行
            TableCell cell4 = row1.AddCell();
            cell4.AddParagraph().AppendText("设备数量");

            //添加第5个单元格到第1行
            TableCell cell5 = row1.AddCell();
            cell5.AddParagraph().AppendText("设备价格");

            //添加表格第2行
            TableRow row2 = table.AddRow(true, false);

            //添加第6个单元格到第2行
            TableCell cell6 = row2.AddCell();
            cell6.AddParagraph().AppendText("1");

            //添加第7个单元格到第2行
            TableCell cell7 = row2.AddCell();
            cell7.AddParagraph().AppendText("机床");

            //添加第8个单元格到第2行
            TableCell cell8 = row2.AddCell();
            cell8.AddParagraph().AppendText("M170010");

            //添加第9个单元格到第2行
            TableCell cell9 = row2.AddCell();
            cell9.AddParagraph().AppendText("12");

            //添加第10个单元格到第2行
            TableCell cell10 = row2.AddCell();
            cell10.AddParagraph().AppendText("8W");
            table.AutoFitBehavior(AutoFitBehaviorType.wdAutoFitWindow);

            //保存文档
            doc.SaveToFile("Table.docx");
        }
    }
}

效果示例:

表格添加方法二:预定义表格行和列

using System;
using Spire.Doc;
using Spire.Doc.Fields;
using System.Drawing;

namespace CreateTable2_Word
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Document类实例,并添加section
            Document document = new Document();
            Section section = document.AddSection();

            //添加表格指定表格的行数和列数(2行,5列)
            Table table = section.AddTable(true);
            table.ResetCells(2, 5);

            //获取单元格(第1行第1个单元格)并添加文本内容,设置字体字号颜色等(单元格中内容及个性化设置可以根据需要来进行调整)
            TextRange range = table[0, 0].AddParagraph().AppendText("序列号");
            range.CharacterFormat.FontName = "Arial";
            range.CharacterFormat.FontSize = 12;
            range.CharacterFormat.TextColor = Color.Brown;
            range.CharacterFormat.Bold = true;

            //获取单元格(第1行第2个单元格)并添加文本
            range = table[0, 1].AddParagraph().AppendText("设备名称");
            range.CharacterFormat.FontName = "Arial";
            range.CharacterFormat.FontSize = 12;
            range.CharacterFormat.TextColor = Color.Brown;
            range.CharacterFormat.Bold = true;

            //获取单元格(第1行第3个单元格)并添加文本
            range = table[0, 2].AddParagraph().AppendText("设备型号");
            range.CharacterFormat.FontName = "Arial";
            range.CharacterFormat.FontSize = 12;
            range.CharacterFormat.TextColor = Color.Brown;
            range.CharacterFormat.Bold = true;

            //获取单元格(第1行第4个单元格)并添加文本
            range = table[0, 3].AddParagraph().AppendText("设备数量");
            range.CharacterFormat.FontName = "Arial";
            range.CharacterFormat.FontSize = 12;
            range.CharacterFormat.TextColor = Color.Brown;
            range.CharacterFormat.Bold = true;

            //获取单元格(第1行第5个单元格)并添加文本
            range = table[0, 4].AddParagraph().AppendText("设备价格");
            range.CharacterFormat.FontName = "Arial";
            range.CharacterFormat.FontSize = 12;
            range.CharacterFormat.TextColor = Color.Brown;
            range.CharacterFormat.Bold = true;

            //获取单元格(第2行第1个单元格)并添加文本
            range = table[1, 0].AddParagraph().AppendText("1");
            range.CharacterFormat.FontName = "Arial";
            range.CharacterFormat.FontSize = 12;

            //获取单元格(第2行第2个单元格)并添加文本
            range = table[1, 1].AddParagraph().AppendText("机床");
            range.CharacterFormat.FontName = "Arial";
            range.CharacterFormat.FontSize = 12;

            //获取单元格(第2行第3个单元格)并添加文本
            range = table[1, 2].AddParagraph().AppendText("M170010");
            range.CharacterFormat.FontName = "Arial";
            range.CharacterFormat.FontSize = 12;

            //获取单元格(第2行第4个单元格)并添加文本
            range = table[1, 3].AddParagraph().AppendText("12");
            range.CharacterFormat.FontName = "Arial";
            range.CharacterFormat.FontSize = 12;

            //获取单元格(第2行第5个单元格)并添加文本
            range = table[1, 4].AddParagraph().AppendText("8W");
            range.CharacterFormat.FontName = "Arial";
            range.CharacterFormat.FontSize = 12;

            //保存文档
            document.SaveToFile("Table2.docx");
        }
    }
}

以上介绍的两种方法中,你可以根据自己的需要添加内容或者设置内容格式等。如果觉得对你有用的话,欢迎转载!感谢阅读。

时间: 2024-11-12 13:11:22

C# 如何添加表格到Word文档的相关文章

Aspose.Words:如何添加另一个WORD文档中的Node对象

原文:Aspose.Words:如何添加另一个WORD文档中的Node对象 首先看一段代码,这段代码意图从docSource中获取第一个表格,并插入docTarget的末尾: 1 var table = (Table)docSource.GetChild(NodeType.Table, 0, true); 2 docTarget.FirstSection.Body.ChildNodes.Add(table); 这段代码会抛出异常:“The newChild was created from a

NPOI读写Excel表格、Word文档

NPOI是从POI移植过来的.NET版本,专门对Word.Excel进行读写操作的一个开源项目 下面就试着怎么用我们的C#来进行读写操作,我现在用的Office版本是2016 我们首先通过Nuget把NPOI引入到我们的项目中 1.读取Excel表格 using(FileStream fs=new FileStream(@"C:\Users\BIDIANQING\Desktop\1.xlsx", FileMode.Open,FileAccess.Read)) { XSSFWorkboo

数据导出excel表格和Word文档

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; using System.IO; public partial class Default1 : System.Web.UI.Page { DataClassesDataContext

向Docx4j生成的word文档添加图片和布局--第一部分

原文标题:Adding images and layout to your Docx4j-generated word documents, part 1 原文链接:http://blog.iprofs.nl/2012/10/22/adding-images-and-layout-to-your-docx4j-generated-word-documents-part-1/ 原文作者:lvdpal 发表日期:2012年10月22日 注:由于我对docx4j也不是很熟悉,所以很多专业名词不会翻译,

C#采用OpenXml给Word文档添加表格

本文实例讲述了C#采用OpenXml给Word文档添加表格的方法,是非常实用的操作技巧.分享给大家供大家参考.具体分析如下: 这里将展示如何使用Openxml向Word添加表格. 代码中表头和数据我们用的同一个TableRow来添加,其实可以通过TableHeader来,其实都一样.后面我们还会进一步给出如何设置单元格样式.表头那一行可以自己通过设置样式来控制 示例代码如下: using System; using System.Collections.Generic; using System

用Aspose.Words for .NET动态生成word文档中的数据表格

1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个-

怎样可以把excel表格转换成word文档

在处理一些文档时,有时会遇到需要将excel表格内容全部放到word文档中,通常只是需要excel的部分数据内容时,直接通过复制,然后粘贴到word文档中即可,但是如果需要将excel表格所以内容都转换成word,那么复制操作就比较麻烦了,那么怎样可以快速将excel表格转换成word文档呢? 通过文档的转换工具,可以将excel格式直接转为word文档,而且是将excel工作簿中的所有表格同时进行转换. 首先在转换器中选择文件转word的转换类型,通过这个选项可以把我们常见的excel,ppt

C# 给Word文档添加内容控件

C# 给Word文档添加内容控件 在MS Word中,我们可以通过内容控件来向word文档中插入预先定义好的模块,指定模块的内容格式(如图片.日期.列表或格式化的文本等),从而创建一个结构化的word文档.下面就来看看如何使用C#给word文档添加组合框.文本.图片.日期选取器及下拉列表等内容控件(这里我借助了一个word组件Spire.Doc). 添加组合框内容控件 组合框用于显示用户可以选择的项目列表.和下拉列表不同的是组合框允许用户编辑或添加项. //给段落添加一个内容控件并指定它的SDT

C# 在word文档中复制表格并粘帖到下一页中

object oMissing = System.Reflection.Missing.Value;            Microsoft.Office.Interop.Word._Application oWord;            Microsoft.Office.Interop.Word._Document oDoc;            oWord = new Microsoft.Office.Interop.Word.Application();            //