[]
        
(Showing Draft Content)

全局设置

GcExcel模板中的全局设置是在定义时应用于整个模板的设置。当需要在多个字段上应用相同的属性时,这些设置可以节省大量工作。全局设置可以应用于所有模板布局,甚至可以应用于工作簿的多个工作表。

GcExcel模板提供的全局设置说明如下:

全局设置

描述

TemplateOptions.KeepLineSize

它指定在整个模板中行高和列宽是否应保持相同

类型: Boolean

值: True / False (默认值)

TemplateOptions.InsertMode

它指定在展开模板时需要额外空间时是插入额外单元格还是插入整个行和列

类型: String

值: Cells (默认值)/ EntireRowColumn

TemplateOptions.EmbedFontForFormFields

它指定窗体字段使用的字体是否应嵌入导出的PDF文件中。

注意: 此设置仅适用于PDF表单字段

类型: Boolean

值: True (默认值)/ False

TemplateOptions.DebugMode

它指定将模板和报表保持在同一工作簿中,在展开模板后是否保留原始模板数据。

类型: Boolean

值: True / False (默认值)

TemplateOptions.PaginationMode

它限制页面上生成的模板单元格的实例数。

当实例数超过CountPerPage属性值时,将自动使用与模板相同的布局创建新页面。

类型: Boolean

值: True / False (默认值)

注意: 全局设置的范围仅在工作簿中,这意味着工作簿中的所有工作表都将应用全局设置。

全局设置可通过以下两种方式之一应用于GcExcel模板:

在模板布局中定义全局设置

全局设置可以在“名称管理器”对话框中的Excel模板布局中定义,如下所示。通过“公式”->“定义的名称”,然后单击“名称管理器”,可以访问“名称管理器”。

Name Manager dialog

使用代码设置全局设置

通过使用内置工作簿定义的名称 TemplateOptions. 加载Excel模板后,可以在GcExcel中定义全局设置。INames 接口的 Add 方法可用于应用全局设置。该方法将 NameRefersTo 属性作为参数:

内置定义名称中 Name 属性的值作为模板全局选项的名称。它区分大小写。

内置定义名称中 RefersTo 属性的值作为模板全局选项的值。它区分大小写。

请参阅以下示例代码以指定模板中的全局设置:

Workbook workbook = new Workbook();
workbook.open("template.xlsx");
 
//Init template global settings
workbook.getNames().add("TemplateOptions.KeepLineSize", "true");
workbook.getNames().add("TemplateOptions.InsertMode", "EntireRowColumn");
//Global setting for PDF form fields
workbook.getNames().add("TemplateOptions.EmbedFontForFormFields", "true");

//Init DebugMode setting
workbook.getNames().add("TemplateOptions.DebugMode", "true");
//Init template global settings 
workbook.getNames().add("TemplateOptions.PaginationMode", "true");
//Add data source
workbook.addDataSource("ds", ds);
 
//Invoke to process the template
workbook.processTemplate();
 
workbook.save("report.xlsx");

此模板示例记录了电子商务在一个国家的不同地区的电子商品销售情况。您还可以下载Excel模板布局。

Excel模板布局

KeepLineSize

下图显示了TemplateOptions.KeepLineSize'设置为true。


Setting set to true

InsertMode

下图显示了TemplateOptions.InsertMode'设置为EntireRowColumn。这样,当模板展开时,行的行高和轮廓组将保留。

Setting set to false

EmbedFontForFormFields

此设置允许您在GcExcel生成的PDF文档中嵌入表单字段使用的字体文件。

如果为true,则即使您的计算机或浏览器没有安装相应的字体,也可以正确显示任意字符。但是,它可能生成大尺寸的PDF文档,尤其是使用东亚字符时。 如果为false,则生成的PDF文档具有最佳大小,但如果您的计算机或浏览器没有安装相应的字体,则会显示凌乱的代码。

下图显示了GcExcel在 TemplateOptions.EmbedFontForFormFields 设置为True。您还可以下载下面示例中使用的 Excel模板布局。

Excel模板布局


Debug Mode

通过设置 TemplateOptions.DebugMode 为true,则可以将生成的报告与同一工作簿中的相应模板进行比较。

下图显示了模板选项时生成的Excel报告。DebugMode 选项设置为true

模板


报告


PaginationMode

此设置确保模板引擎考虑 CountPerPage 模板属性。当 TemplateOptions.PaginationMode 为true时,工作表将根据 CountPerPage 模板属性中设置的值进行分页。在这种情况下,TemplateOptions.KeepLineSize 的值始终为 true。此外,TemplateOptions.InsertMode 的值。在分页模式中被视为 EntireRowColumn

下图显示了模板选项时生成的Excel报告的第1页和第2页。PaginatedMode 与 CountPerPage 模板属性一起设置为 true。

第一页:

image

第二页:

image