通过 java 在 Python 中使用智能标记智能导入和放置数据

介绍

智能标记用于让 Aspose.Cells 知道在 Microsoft Excel 设计器电子表格中放置哪些信息。智能标记允许您创建仅包含特定信息和格式的模板。

设计师电子表格和智能标记

Designer 电子表格是标准的 Excel 文件,其中包含视觉格式、公式和智能标记。它们可以包含引用一个或多个数据源的智能标记,例如来自项目的信息和相关联系人的信息。智能标记被写入您需要信息的单元格中。

所有智能标记都以 &= 开头。 &=Party.FullName 是数据标记的示例。如果数据标记产生多个项目,例如,一个完整的行,则随后的行会自动向下移动以为新信息腾出空间。因此,小计和总计可以放在数据标记之后的行上,以根据插入的数据进行计算。要对插入的行进行计算,请使用动态公式.

智能标记包括数据源字段名称大多数信息的部分。特殊信息也可以与变量和变量数组一起传递。变量始终只填充一个单元格,而变量数组可能填充多个单元格。每个细胞只使用一个数据标记。未使用的智能标记将被删除。

智能标记也可能包含参数。参数允许您修改信息的布局方式。它们作为逗号分隔列表附加到括号中的智能标记的末尾。

智能标记选项

&=数据源.字段名 &=[数据源].[字段名]&=$变量名 &=$变量数组 &==动态公式 &=&=重复动态公式

参数

允许使用以下参数:

  • 没有添加 不要添加额外的行来适应数据。
  • 跳过:n - 为每行数据跳过 n 行。
  • 升序:n要么降序:n - 在智能标记中对数据进行排序。如果 n 为 1,则该列是排序器的第一个键。对数据源进行处理后对数据进行排序。例如:&=Table1.Field3(升序:1)。
  • 水平的 从左到右而不是从上到下写入数据。
  • 数字 如果可能,将文本转换为数字。
  • 转移 向下或向右移动,创建额外的行或列以适应数据。 shift 参数的工作方式与 Microsoft Excel 中的相同。例如在Microsoft Excel中,当您选择一个单元格区域时,右键单击并选择插入并指定?向下移动单元格, 右移单元格和其他选项。简而言之,转移参数为垂直/正常(从上到下)或水平(从左到右)智能标记填充相同的功能。
  • 文案风格 将基本单元格的样式复制到该列中的所有单元格。

可以组合参数 noadd 和 skip 以在交替行上插入数据。因为模板是从下往上处理的,所以你应该在第一行添加noadd以避免在备用行之前插入额外的行。

如果您有多个参数,请用逗号分隔它们,但不要使用空格:parameterA,parameterB,parameterC

以下屏幕截图显示了如何每隔一行插入数据。

模板文件 输出文件
待办事项:图片_替代_文本 待办事项:图片_替代_文本

动态公式

动态公式允许您将 Excel 公式插入到单元格中,即使公式引用了将在导出过程中插入的行。动态公式可以为每个插入的行重复或仅使用放置数据标记的单元格。

动态公式允许以下附加选项:

  • r - 当前行号。
  • 2, -1 - 当前行号的偏移量。

例如:

 &=&=B{-1}/C{-1}~(skip:1)

在动态公式标记中,“-1”分别表示B列和C列到当前行的偏移量,将设置除法运算,skip参数为一行。此外,我们应该指定以下字符:

 "~"

作为分隔符以在动态公式中应用更多参数。

以下屏幕截图说明了一个重复的动态公式和生成的 Excel 工作表。

模板文件 输出文件
待办事项:图片_替代_文本 待办事项:图片_替代_文本
Cell “C1”包含公式A1*B1 ,单元格“C2”包含A2*B2单元格“C3”包含A3*B3.

处理智能标记非常容易。以下是 Python via Java 中的代码片段,展示了它是如何完成的。