C#实现拆分合并Word表格中的单元格

目录
  • 程序环境
  • 在Word表格中合并单元格
    • 完整代码
    • 效果图
  • 在Word表格中拆分单元格
    • 完整代码
    • 效果图

我们在使用Word制作表格时,由于表格较为复杂,只是简单的插入行、列并不能满足我们的需要。要做一个完整的表格,很多时候需要将单元格进行拆分或者合并,才能达到我们想要的效果。那么具体要如何操作呢?别担心,本文将详细为您介绍在Word表格中拆分或合并单元格的思路及方法。

  • 在Word表格中合并单元格
  • 在Word表格中拆分单元格

程序环境

本次测试时,在程序中引入Free Spire.Doc for .NET。可通过以下方法引用 Free Spire.Doc.dll文件:

方法1:将 Free Spire.Doc for .NET下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的 Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

方法2:通过NuGet安装。可通过以下2种方法安装:

(1)可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。

(2)将以下内容复制到PM控制台安装。

Install-Package FreeSpire.Doc -Version 10.8.0

在Word表格中合并单元格

合并单元格,指的是将两个或多个位于同一行或者同一列的单元格合并成一个单元格。具体步骤如下:

  • 初始化 Document类的实例。
  • 使用Document.LoadFromFile() 方法加载Word文档。
  • 调用Document.Sections[int] 属性,通过索引获取文档中的特定节。
  • 使用Section.AddTable() 方法将表添加到该节。
  • 使用Table.ResetCells() 方法指定表的行数和列的数量。
  • 使用Table.ApplyHorizontalMerge() 方法水平合并表中的特定单元格。
  • 使用 Table.ApplyVerticalMerge() 方法垂直合并表中的特定单元格。
  • 将数据添加到表中。
  • 将样式应用于表。
  • 使用Document.SaveToFile() 方法保存结果文档。

完整代码

C#

using Spire.Doc;
using Spire.Doc.Documents;

namespace MergeTableCells
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化 Document类的实例
            Document document = new Document();
            //加载Word文档
            document.LoadFromFile("测试文档.docx");

            //获取特定节
            Section section = document.Sections[0];

            //添加一个 4 x 4 表格到该节
            Table table = section.AddTable();
            table.ResetCells(4, 4);

            //水平合并表中的特定单元格
            table.ApplyHorizontalMerge(0, 0, 3);
            //垂直合并表中的特定单元格
            table.ApplyVerticalMerge(0, 2, 3);

            //将数据添加到表格中
            for (int row = 0; row < table.Rows.Count; row++)
            {
                for (int col = 0; col < table.Rows[row].Cells.Count; col++)
                {
                    TableCell cell = table[row, col];
                    cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle;
                    Paragraph paragraph = cell.AddParagraph();
                    paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center;
                    paragraph.Text = "文本";
                }
            }

            //将样式应用于表
            table.ApplyStyle(DefaultTableStyle.LightGridAccent1);

            //保存结果文档
            document.SaveToFile("合并单元格.docx", FileFormat.Docx2013);
        }
    }
}

VB.NET

Imports Spire.Doc
Imports Spire.Doc.Documents

Namespace MergeTableCells
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '初始化 Document类的实例
            Dim document As Document = New Document()
            '加载Word文档
            document.LoadFromFile("测试文档.docx")

            '获取特定节
            Dim section As Section = document.Sections(0)

            '添加一个 4 x 4 表格到该节
            Dim table As Table = section.AddTable()
            table.ResetCells(4, 4)

            '水平合并表中的特定单元格
            table.ApplyHorizontalMerge(0, 0, 3)
            '垂直合并表中的特定单元格
            table.ApplyVerticalMerge(0, 2, 3)

            '将数据添加到表格中
            For row As Integer = 0 To table.Rows.Count - 1
                For col As Integer = 0 To table.Rows(row).Cells.Count - 1
                    Dim cell As TableCell = table(row, col)
                    cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle
                    Dim paragraph As Paragraph = cell.AddParagraph()
                    paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
                    paragraph.Text = "文本"
                Next
            Next

            '将样式应用于表
            table.ApplyStyle(DefaultTableStyle.LightGridAccent1)

            '保存结果文档
            document.SaveToFile("合并单元格.docx", FileFormat.Docx2013)
        End Sub
    End Class
End Namespace

效果图

在Word表格中拆分单元格

将一个单元格拆分成两个或多个单元格,这种方法就叫做拆分单元格。具体步骤如下:

初始化Document类的实例。

使用Document.LoadFromFile() 方法加载Word文档。

调用Document.Sections[int] 属性,通过索引获取文档中的特定节。

通过Section.Tables[int] 属性,通过索引在该节获取特定表格。

通过Table.Rows[int].Cells[int] 属性获取要拆分的表格单元格。

使用TableCell.SplitCell() 方法将单元格分为特定数量的列和行。

使用 Document.SaveToFile() 方法保存结果文档。

完整代码

C#

using Spire.Doc;

namespace SplitTableCells
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化Document类的实例
            Document document = new Document();
            //加载Word文档
            document.LoadFromFile("合并单元格.docx");

            //获取文档中的特定节
            Section section = document.Sections[0];

            //在该节获取特定表格
            Table table = section.Tables[0] as Table;

            //获取要拆分的表格单元格
            TableCell cell1 = table.Rows[3].Cells[3];
            //将单元格分为特定数量的列和行
            cell1.SplitCell(2, 2);

            //保存结果文档
            document.SaveToFile("拆分单元格.docx", FileFormat.Docx2013);
        }
    }
}

VB.NET

Imports Spire.Doc

Namespace SplitTableCells
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '初始化Document类的实例
            Dim document As Document = New Document()
            '加载Word文档
            document.LoadFromFile("合并单元格.docx")

            '获取文档中的特定节
            Dim section As Section = document.Sections(0)

            '在该节获取特定表格
            Dim table As Table = TryCast(section.Tables(0), Table)

            '获取要拆分的表格单元格
            Dim cell1 As TableCell = table.Rows(3).Cells(3)
            '将单元格分为特定数量的列和行
            cell1.SplitCell(2, 2)

            '保存结果文档
            document.SaveToFile("拆分单元格.docx", FileFormat.Docx2013)
        End Sub
    End Class
End Namespace

效果图

到此这篇关于C#实现拆分合并Word表格中的单元格的文章就介绍到这了,更多相关C#拆分合并Word表格单元格内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C#读取word中表格数据的方法实现

    前些日子有一个项目需要从word文件中取表格数据并进行处理,网上大部分方案都是基于office的com组件实现,但是这样有一个缺点,如果电脑里没有安装office将无法使用,因为之前操作excel都是使用的NPOI,所以理所当然的想用NPOI解决此问题. 于是找到了如下代码 private List<string> GetDoc(string Path) { if (Path == "") return null; //文件路径为空 List<string> R

  • C#对Word文档的创建、插入表格、设置样式等操作实例

    using Word; 下面的例子中包括C#对Word文档的创建.插入表格.设置样式等操作: (例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法) public string CreateWordFile(string CheckedInfo) ...{ string message = ""; try ...{ Object Nothing = System.Reflection.Missing.Value; Directory.CreateDirect

  • C#读写EXCEL单元格的问题实现

    最近, 我在用C#开发一个EXCEL Add-In的时候,发现了一些害人不浅的坑,特来总结列举如下: 这里我读写EXCEL引用的是using Excel = Microsoft.Office.Interop.Excel; 问题一.如何判断一个单元格去除首尾空格后是不是空的 在获取单元格内的文本内容进行判断时,总觉得最好用Text属性,少用或不用Value和Value2属性 if (cur_sht.Range["A1"].Text.Trim() == "") {} T

  • C#插入图片到Excel表格单元格代码详解

    dll文件获取及引用: 方法1:通过官网下载dll文件包,并解压.解压文件后,将bin文件夹下的Spire.Xls.dll文件引用到C#程序. 方法2:通过Nuget网站获取dll. C#代码示例 using Spire.Xls; using System.Drawing; namespace InsertImage_XLS { class Program { static void Main(string[] args) { //创建Workbook对象 Workbook workbook =

  • 使用c#在word文档中创建表格的方法详解

    复制代码 代码如下: public string CreateWordFile()        {            string message = "";            try            {                Object Nothing = System.Reflection.Missing.Value;                string name = "xiehuan.doc";               

  • C#实现拆分合并Word表格中的单元格

    目录 程序环境 在Word表格中合并单元格 完整代码 效果图 在Word表格中拆分单元格 完整代码 效果图 我们在使用Word制作表格时,由于表格较为复杂,只是简单的插入行.列并不能满足我们的需要.要做一个完整的表格,很多时候需要将单元格进行拆分或者合并,才能达到我们想要的效果.那么具体要如何操作呢?别担心,本文将详细为您介绍在Word表格中拆分或合并单元格的思路及方法. 在Word表格中合并单元格 在Word表格中拆分单元格 程序环境 本次测试时,在程序中引入Free Spire.Doc fo

  • JQuery实现表格中相同单元格合并示例代码

    代码: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <title>merge.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this

  • 利用Java读取Word表格中文本和图片的方法实例

    目录 1. 程序环境准备 Jar导入步骤及方法: 方法1:手动导入. 方法2:Maven仓库导入. 2. Java代码 3. 文本.图片读取效果 总结 本文通过Java程序来展示如何读取Word表格,包括读取表格中的文本和图片.下面是具体实现的步骤和方法. 1. 程序环境准备 代码编译工具:IntelliJ IDEA Jdk版本:1.8.0 测试文档:Word .docx 2013 Jar包:free spire.doc.jar 3.9.0 用于测试的Word文档如下: Jar导入步骤及方法:

  • Element UI中table单元格合并的解决过程

    目录 引言 解决思路: 1.格式化后台返回的数据(根据实际数据格式处理) 2.在 data 中定义数据,需要合并几列就定义几个数组和索引 3.定义合并函数 4.table 组件属性 span-method 的单元格合并方法: 完整代码: 总结 引言 项目中遇到表格单元格合并的需求,在此记录整个解决过程. 项目使用的是 Element UI,表格使用的是 table 组件.Element UI 的 table 表格组件中对单元格进行合并,需要使用 table 组件的 span-method 属性.

  • 在Layui中操作数据表格,给指定单元格添加事件示例

    最近入坑Layui这个为服务端程序员量身定做的前端框架. 为什么不用vue结合各种流行前端框架Element.iView啊什么,后台大哥们不会啊!!! 只好我来迁就他们呢,还得一点一点儿的学起来. 当我们在操作数据表格的时候,并不是一定要点击表格工具栏中的"查看"按钮,来进行查看,而是点击某一特定的列来进行某些数据查看.例如下图这样. 这就涉及到表格的自定义事件.代码如下: <table id='task-list' lay-filter='task-list'></

  • vue 中 elment-ui table合并上下两行相同数据单元格

    html : <el-table :header-cell-style="{background:'#6d7f93',color:'white'}" :data="ptableDate" align="center" border v-loading="loading" :height="tableHeight" :span-method="objectOneMethod" >

  • vue+elementui实现点击table中的单元格触发事件--弹框

    elementui中提供了点击行处理事件 查看位置: elementui的table事件 elementui的table中怎样点击某个单元格触发事件? 可以先看一下官网中table的自定义列模板代码 <template> <el-table :data="tableData" border style="width: 100%"> <el-table-column label="日期" width="180

  • element-ui直接在表格中点击单元格编辑

    目录 实现效果 实现代码 最近由于公司开始使用elementUI,开发的过程中需要用到对表格的单元格进行编辑,下面是我自己实现表格可编辑的方式,感兴趣的可以了解一下 实现效果 编辑之后对应表格数据该字段值也就发生了变化,控制台输出所有数据即可查看变化 实现代码 1.自定义编辑组件 <template> <div class="editCell"> <div class="canEdit" v-if="CanEdit"

  • JS实现控制表格内指定单元格内容对齐的方法

    本文实例讲述了JS实现控制表格内指定单元格内容对齐的方法.分享给大家供大家参考.具体如下: 下面的代码控制表格单元格的内容向右对齐 <!DOCTYPE html> <html> <head> <script> function alignCell() { document.getElementById('td1').align="right"; } </script> </head> <body> &l

  • JS获取表格内指定单元格html内容的方法

    本文实例讲述了JS获取表格内指定单元格html内容的方法.分享给大家供大家参考.具体如下: 下面的代码先通过表格对象的rows获得指定的行的所有单元格数组,然后定位指定的单元格,通过单元格的innerHTML属性获得单元格的html内容 <!DOCTYPE html> <html> <head> <script> function cell() { var x=document.getElementById('myTable').rows[0].cells;

随机推荐