当前位置: 首页 > news >正文

Word控件Spire.Doc 【Table】教程(16):C#/VB.NET:在 Word 表格中插入或提取图像

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转换和打印Word/PDF/Excel等格式文件处理,小巧便捷。 

E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.Doc for.NET 最新下载(qun:767755948)icon-default.png?t=N176https://www.evget.com/product/3368/download

Microsoft Word 中的表格可以包含多种元素,包括文本、图像等等。有时,您可能希望将图像插入表格中以显示一些信息或从表格中提取图像以用于其他文档。本文将教您如何使用 Spire.Doc for .NET在 C# 和 VB.NET 中的 Word 文档中的表格中插入或提取图像。

安装适用于 .NET 的 Spire.Doc

PM> Install-Package Spire.Doc

在 C# 和 VB.NET 中将图像插入到 Word 文档的表格中

在 Microsoft Word 中,您可以将两个或多个相邻的单元格水平或垂直合并为一个更大的单元格。在 Spire.Doc 中,您可以使用Table.ApplyHorizontalMerge()Table.ApplyVerticalMerge()方法实现相同的目的。以下是详细步骤:

  • 初始化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)
{
//Create a Document instance
Document document = new Document();
//Load a Word document
document.LoadFromFile("Input.docx");//Get the first section
Section section = document.Sections[0];//Add a 4 x 4 table to the section
Table table = section.AddTable();
table.ResetCells(4, 4);//Horizontally merge cells 1, 2, 3, and 4 in the first row
table.ApplyHorizontalMerge(0, 0, 3);
//Vertically merge cells 3 and 4 in the first column
table.ApplyVerticalMerge(0, 2, 3);//Add some data to the table
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 = "Text";
}
}//Apply a style to the table
table.ApplyStyle(DefaultTableStyle.LightGridAccent1);//Save the result document
document.SaveToFile("MergeCells.docx", FileFormat.Docx2013);
}
}
}

【VB.NET】

Imports Spire.Doc
Imports Spire.Doc.DocumentsNamespace MergeTableCells
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'Create a Document instance
Dim document As Document = New Document()
'Load a Word document
document.LoadFromFile("Input.docx")'Get the first section
Dim section As Section = document.Sections(0)'Add a 4 x 4 table to the section
Dim table As Table = section.AddTable()
table.ResetCells(4, 4)'Horizontally merge cells 1, 2, 3, and 4 in the first row
table.ApplyHorizontalMerge(0, 0, 3)
'Vertically merge cells 3 and 4 in the first column
table.ApplyVerticalMerge(0, 2, 3)'Add some data to the table
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 = "Text"
Next
Next'Apply a style to the table
table.ApplyStyle(DefaultTableStyle.LightGridAccent1)'Save the result document
document.SaveToFile("MergeCells.docx", FileFormat.Docx2013)
End Sub
End Class
End Namespace

使用 C# 和 VB.NET 在 Word 中拆分表格单元格

Spire.Doc for .NET 提供了TableCell.SplitCell()方法,使您能够将 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)
{
//Create a Document instance
Document document = new Document();
//Load a Word Document
document.LoadFromFile("MergeCells.docx");//Get the first section
Section section = document.Sections[0];//Get the first table in the section
Table table = section.Tables[0] as Table;//Get the 4th cell in the 4th row
TableCell cell1 = table.Rows[3].Cells[3];
//Split the cell into 2 columns and 2 rows
cell1.SplitCell(2, 2);//save the result document
document.SaveToFile("SplitCells.docx", FileFormat.Docx2013);
}
}
}

【VB.NET】

Imports Spire.DocNamespace SplitTableCells
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'Create a Document instance
Dim document As Document = New Document()
'Load a Word Document
document.LoadFromFile("MergeCells.docx")'Get the first section
Dim section As Section = document.Sections(0)'Get the first table in the section
Dim table As Table = TryCast(section.Tables(0), Table)'Get the 4th cell in the 4th row
Dim cell1 As TableCell = table.Rows(3).Cells(3)
'Split the cell into 2 columns and 2 rows
cell1.SplitCell(2, 2)'save the result document
document.SaveToFile("SplitCells.docx", FileFormat.Docx2013)
End Sub
End Class
End Namespace

以上便是如何在C#/VB.NET:在 Word 表格中插入或提取图像,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。

http://www.lryc.cn/news/9791.html

相关文章:

  • C++如何实现系统语言切换功能,MessageBox的确认/取消按钮语言显示如何跟程序一致
  • 计算机组成原理学习笔记:循环冗余校验码
  • Educational Codeforces Round 143 (Rated for Div. 2) A — C
  • 【Unity VR开发】结合VRTK4.0:将浮点数从交互器传递到可交互对象
  • 【图像分类】基于PyTorch搭建卷积神经网络实现MNIST手写数字识别(附项目完整代码)
  • 4.4 MQC
  • ClickHouse列存储(十一)—— ClickHouse
  • 公司来了个卷王,真让人奔溃
  • 什么是refresh?Spring refresh 流程
  • Python登陆系统
  • 【新2023】华为OD机试 - 重组字符串(Python)
  • 视频监控流程图
  • 普通单双面板的生产工艺流程之图形转移,华秋一文告诉你
  • 1.8 providers
  • 如何编写一个基本的 Verilog Module(模块)
  • 让乔布斯想要「发动核战争」的 Android,为何成了占有率最高的系统?
  • FPGA开发软件(vivado + modelsim)环境搭建(附详细安装步骤+软件下载)
  • TypeScript 学习之类型
  • 基于MATLAB计算MIMO信道容量(附完整代码与分析)
  • CSDN城市开发者联盟、C友会期待你的加入
  • 【新2023】华为OD机试 - 吃火锅(Python)
  • 类似LeetCode的登录页面(小程序版)
  • CUDA的统一内存
  • MySQL-其他函数(补充)
  • MySQL Study Notes Design in 2023
  • C++ 修改防火墙firewall设置(Windows)
  • Spring 入门教程详解
  • day43【代码随想录】动态规划之一和零、完全背包理论基础
  • GEE学习笔记 七十八:干涸的洪泽湖
  • 双指针【灵神基础精讲】