Aspose.cells模板导出使用记录

Posted Hello World,

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Aspose.cells模板导出使用记录相关的知识,希望对你有一定的参考价值。

简述

用Aspose.cells导出可以方便地将数据到Excel文档中,简单的直接将DataTable列表写入即可,复杂的格式一般会先做好模板,再将数据填充进去,这样可以保持设置好的样式,又能快速填充内容,十分方便。

智能标记

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

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

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

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

智能标记选项

&=数据源.字段名

&=[数据源].[字段名]

&=$变量名

&=$变量数组

&==动态公式

&=&=重复动态公式

动态公式

动态公式允许您将 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.

详细介绍可以参考官方说明

模板设置

先按照普通excel文档进行框架设置,要变化的部分根据Aspose.cells的预设格式(SmartMakers)进行编写。

示例如下图:

对于普通的单个变量,格式为&=$前缀,后面跟上变量名即可。

对于列表变量,前缀为&=,后面填写变量名.字段名,例如:&=[bom].cInvName,表名、字段名如果有特殊字符则用[]包裹,如果没有则可以省略。

如果有主从表的,按表名+字段填入即可,例如上图中上半部分是主表的,也可以使用&=[master].field格式来设置,不用分开传多个变量。

基本代码框架

string dataDir = "";
// Instantiate the workbook from a template file that contains Smart Markers

Workbook designer = new Workbook(dataDir + "模板文件,修改成自己的.xlsx");


DataTable dt = new DataTable(); //修改为自己的数据源

// 设置表名,对应智能标记中的表名
dt.TableName = "Report";

// 创建设计器
WorkbookDesigner d = new WorkbookDesigner();

// 关联文档
d.Workbook = designer;

// 设置数据源
d.SetDataSource(dt);

// 执行合并
d.Process();

// S保存文档
designer.Save(dataDir + "output.xlsx", SaveFormat.Xlsx);

其中SetDataSource的重载共有9个,可以将普通数据、DataSet、DataTable、DataView、DataReader、List等设置为数据源。可根据情况选用。

以上是关于Aspose.cells模板导出使用记录的主要内容,如果未能解决你的问题,请参考以下文章

aspose.cells导出excel怎么显示为数字格式

转 (C#)利用Aspose.Cells组件导入导出excel文件

使用Aspose.Cells导出Excel遇到的日期格式问题

Aspose.Cells如何将datatable导出Excel

Aspose Cells Excel模板转PDF Linux中文乱码解决

Aspose Cells Excel模板转PDF Linux中文乱码解决