应用表格格式

表格的每个要素都可以采用不同的格式。 例如,表格格式化将应用于整个表格,行格式化将仅适用于特定行,单元格格式化将仅适用于某些单元格.

Aspose.Words 提供财富 API 以检索并应用表格的格式。 你可以用这个 Table, RowFormat, 和 CellFormat 设置格式的节点。

在本篇文章中,我们将谈论如何对不同的表格节点应用格式,以及表格格式设置 Aspose.Words 支持 。

应用格式到不同的节点

在本节中,我们将考虑对各种表格节点采用格式。

表格级别格式

要将格式应用到表格中,您可以使用相应的属性 Table 使用 Table, PreferredWidth, 和 TableCollection 课程。

以下图片显示 Table 格式化特性 Microsoft Word 及其相应的属性 Aspose.Words。 。 。 。

apply-formatting-to-table-level-aspose-words-java

apply-formatting-to-table-level-aspose-words-java

以下代码示例显示如何对表格应用大纲边框:

以下代码示例显示如何构建所有边框的表格( 网格):

行级别格式

行级** 格式化可以使用 Row, RowFormat, 和 RowCollection 课程。

以下图片显示 Row 格式化特性 Microsoft Word 及其相应的属性 Aspose.Words。 。 。 。

apply-formatting-to-row-level-aspose-words-java

以下代码示例显示如何修改表格行格式:

单元格级别格式

单元格级别格式化由 Cell, CellFormat, 和 CellCollection 课程。

以下图片显示 Cell 格式化特性 Microsoft Word 及其相应的属性 Aspose.Words。 。 。 。

apply-formatting-to-cell-level-aspose-words-java

apply-auto-formatting-to-row-level-aspose-words-java

以下代码示例显示如何修改表格单元格的格式:

以下代码示例显示如何设置单元格内容左/上/右/下方的空间(以点计):

指定行高

设置行高的最简单方法是使用 DocumentBuilder。 。 。 。 使用适当的 RowFormat 属性,您可以设置默认的高度设置,也可以对表格中的每行应用不同的高度。

内 Aspose.Words, 表格行高度由:

-行高财产 Height

同时,可以为每行设置不同的高度–这使得您可以广泛地控制表格设置.

以下代码示例显示如何创建包含单个单元格并应用行格式的表格:

指定表格和单元格宽度

一张桌子在a Microsoft Word 文档提供了修改表格和单个单元格大小的几种不同方式。 这些属性允许对表格的外观和行为进行相当的控制,因此 Aspose.Words 支持表格的行为,如 Microsoft Word。 。 。 。

必须知道,表格元素呈现出几种不同的属性,可以影响总体表格的宽度以及单个单元格的计算方式:

  • 桌上首选的宽度
  • 单个单元格首选宽度
  • 允许自动装配到桌子上

本文章详细介绍了各种表格宽度计算属性是如何工作的,以及如何获得对表格宽度计算的全面控制. 这是 尤其有助于了解表格布局没有如预期那样出现的情况。

如何使用首选宽度

表格或单个单元格的理想宽度通过首选宽度属性来定义,这是元素努力适应的大小. 也就是说,可以指定整个表格或单个单元格的首选宽度. 在某些情况下,可能无法准确适应这一宽度,但实际上的宽度在大多数情况下接近这一值.

适当的首选宽度类型和值是使用 PreferredWidth 类:

  • 那个 Auto 字段以指定自动或"无首选宽度"
  • 那个 FromPercent 指定百分比宽度的方法
  • 那个 FromPoints 指定点宽度的方法

以下图片显示了您在 Microsoft Word 及其相应的属性 Aspose.Words。 。 。 。

formatting-table-properties-aspose-words-java

这些选项如何应用到文档中真实表格的一个实例可见以下图片.

table-applied-options-java

指定首选表格或单元格宽度

内 Aspose.Words, 表格和单元格宽度使用 Table.PreferredWidth 财产和财产 CellFormat.PreferredWidth 属性,在 PreferredWidthType 计数:

  • 怎么样? Auto, 等于没有首选宽度集
  • 怎么样? Percent, 与窗口或容器大小的可用空间相对应的元素,并在可用宽度变化时重新计算值
  • 怎么样? Points, 对应指定宽度的元素

使用 Table.PreferredWidth 属性将相对其容器调整其首选宽度:页面、文本列或外部表格单元格,如果它是嵌入式表格。

以下代码示例显示如何将表格自动配置到页面宽度的50%:

使用 CellFormat.PreferredWidth 属性将调整其首选宽度。

以下代码示例显示如何设置不同的首选宽度设置:

查找首选的宽度类型和值

你可以用这个 TypeValue 属性以查找想要的表格或单元格的首选宽度细节。

以下代码示例显示如何获取表格单元格首选的宽度类型:

如何设置自动适应

那个 AllowAutoFit 属性允许表格中的单元格根据选定的标准生长和缩小。 例如,你可以使用 自动编辑到窗口 选项,使表格与页面宽度相匹配, 自动编辑到内容 选项,允许每个单元格根据其内容生长或缩小。

默认 Aspose.Words 使用 自动编辑到窗口。 。 。 。 表格将按照可用的页面宽度大小。 要调整表格的大小,可以拨打 AutoFit 方法。 此方法接受 AutoFitBehavior 指定表格中自动适应的类型。

重要的是要知道,自动适配方法实际上是一种快捷方式,同时对表格应用不同的属性. 这些属性实际上给出了表格中观察到的行为. 我们将讨论每个自动适应选项的这些属性 。

以下代码示例显示如何根据每个单元格的内容设置一个表来缩小或生长:

我们将使用下表应用各种自动适配设置作为演示.

apply-different-autofit-settings-to-a-table-aspose-words-java

自动填表到窗口

当自动适应窗口被应用到表格中时,以下操作实际上是在幕后进行:

一、导 言 那个 Table.AllowAutoFit 属性可以自动调整列大小以适应可用内容,使用 Table.PreferredWidth 价值100% 2. 国家 CellFormat.PreferredWidth 从所有表格单元格中删除

3个 对当前表格内容的列宽进行重新计算 - 最终结果是一个占据全部可用宽度的表格 4个 表格中列的宽度在用户编辑文本时自动更改

以下代码示例显示如何将表格自动配置到页面宽度:

这些选项如何应用到上表的一个实例可见下图.

autofit-table-aspose-words-java

自动填表到内容

当表格自动适应内容时,以下步骤实际上是在幕后进行: 1

一、导 言 那个 Table.AllowAutoFit 属性被允许根据单元格的内容自动调整大小

  1. 国家 首选的表格宽度从 Table.PreferredWidth, CellFormat.PreferredWidth 为每个表格单元格删除

3个 对当前表格内容的列宽进行重新计算–最终结果是一个表格,当用户编辑文本时,该表格的列宽和整个表格的宽度会自动调整,以最适合内容

以下代码示例显示如何自动调整表格的内容:

这些选项如何应用到上表的一个实例可见下图.

resize-column-autofit-settings-aspose-words-java

禁用表格中的自动配置并使用固定列宽

如果表格已禁用自动装配,而是使用固定列宽,则执行下列步骤:

一、导 言 Table.AllowAutoFit 属性被禁用, 因此列不会增大或缩小到其内容 2. 国家 整个表格的首选宽度从 Table.PreferredWidth, CellFormat.PreferredWidth 从所有表格单元格中删除 3个 最终结果是一个表格,其列宽由 CellFormat.Width 属性,且其列在用户输入文本或页面调整时不会自动调整大小

以下代码示例显示如何禁用自动适应并启用指定的表格的固定宽度:

这些选项如何应用到上表的一个实例可见下图.

disable-autofit-settings-to-a-table-aspose-words-java

计算单元格宽度时的顺序

Aspose.Words 允许用户通过多个对象定义表格或单元格的宽度,包括 CellFormat - 它的 Width 属性大多是以前版本遗留下来的,但对于简化单元格宽度的设置仍然有用。

必须知道 CellFormat.Width 属性的工作方式不同,取决于表格中已经存在哪些其他宽度属性。

Aspose.Words 使用下列顺序计算单元格宽度:

顺序 财产 说明
1 AllowAutoFit 将确定 若为 AutoFit 已启用:
- 表格可能超过首选宽度以容纳内容 - 它通常不会缩小至首选宽度以下
- 任何更改 CellFormat.Width 值被忽略,单元格将与其内容相匹配
2 PreferredWidthType 值为 PointsPercent CellFormat.Width 忽略
3 PreferredWidthType 值为 Auto 值来自 CellFormat.Width 复制并成为单元格首选的宽度(单位:点)

允许单元格间间隔

您可以在表格单元格之间获得或设置类似"%ell 间隔"选项的额外空格。 Microsoft Word。 。 。 。 可以使用 AllowCellSpacing 属性。

这些选项如何应用到文档中真实表格的一个实例可见以下图片.

formatting-spacing-between-cells-aspose-words-java

以下代码示例显示如何设置单元格之间的间隔:

应用边框和阴影

边框和阴影可以应用到整个表格中。 Table.SetBorder, Table.SetBordersTable.SetShading, 或只对使用 CellFormat.BordersCellFormat.Shading。 。 。 。 此外,可以使用 RowFormat.Borders, 但阴影不能以这种方式适用。

以下图片显示边框和阴影设置 Microsoft Word 及其相应的属性 Aspose.Words。 。 。 。

apply-borders-shading-aspose-words-java-1

apply-borders-shading-aspose-words-java-2

以下代码示例显示如何格式化一个有不同边框和阴影的表格和单元格: