[]
GcExcel 允许您使用 IWorksheet 接口的 autoMerge 方法,为需要合并包含相同文本的相邻单元格的区域添加自动合并信息。autoMerge 方法启动自动合并操作,该操作仅在使用 XlsxSaveOptions、SjsSaveOptions、SerializationOptions、PdfSaveOptions、ImageSaveOptions 和 HtmlSaveOptions 类的 setIncludeAutoMergedCells 方法将工作簿导出为 PDF、HTML、图像、.xlsx、.sjs 或 Json 时才会生效,且需将该方法设置为true。
autoMerge 方法具有以下参数,有助于添加和自定义自动合并操作:
参数名称 | 描述 |
---|---|
range | 自动合并的区域。 |
direction | 自动合并的方向。默认值为 Column。 AutoMergeDirection 提供以下自动合并方向:
|
mode | 自动合并的模式。默认值为 Free。 AutoMergeMode 提供以下自动合并模式:
|
selectionMode | 自动合并的选择模式。默认值为 Source。 AutoMergeSelectionMode 提供以下自动合并选择模式:
注意:selectionMode 参数仅适用于SpreadJS。 |
请参考以下示例代码,为某个区域添加自动合并信息,并将工作簿导出为 .xlsx、.sjs、.pdf 和 .png 文件:
// 创建一个新工作簿。
var workbook = new Workbook();
// 打开现有工作簿。
workbook.open("Regional_Product_List.xlsx");
// 获取活动工作表。
var worksheet = workbook.getActiveSheet();
// 使用受限模式和合并选择模式添加自动合并区域。
worksheet.autoMerge(worksheet.getUsedRange(), AutoMergeDirection.Column, AutoMergeMode.Restricted, AutoMergeSelectionMode.Merged);
// 将IncludeAutoMergedCells设置为true以包含自动合并的单元格。
// 设置XlsxSaveOptions以将工作簿导出为XLSX文件。
XlsxSaveOptions xlsxOptions = new XlsxSaveOptions();
xlsxOptions.setIncludeAutoMergedCells(true);
// 设置SjsSaveOptions以将工作簿导出为.sjs文件。
SjsSaveOptions sjsOptions = new SjsSaveOptions();
sjsOptions.setIncludeAutoMergedCells(true);
// 设置PdfSaveOptions以将工作簿导出为PDF文件。
PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.setIncludeAutoMergedCells(true);
// 设置ImageSaveOptions以将工作簿导出为PNG文件。
ImageSaveOptions pngOptions = new ImageSaveOptions();
pngOptions.setIncludeAutoMergedCells(true);
// 将工作簿另存为XLSX文件。
workbook.save("AutoMerge.xlsx", xlsxOptions);
// 将工作簿另存为.sjs文件。
workbook.save("AutoMerge.sjs", sjsOptions);
// 将工作簿另存为PDF文件。
workbook.save("AutoMerge.pdf", pdfOptions);
// 将工作簿另存为PNG文件。
worksheet.toImage("AutoMerge.png", pngOptions);
未自动合并 | 自动合并后 |
---|---|
注意:
如果区域相互交叉,自动合并操作将抛出异常。例如,“A1:C3, B2:D4”。
如果区域与现有自动合并区域交叉,自动合并操作将抛出异常。
如果区域包含多个区域,将为每个区域添加自动合并信息。例如,“A1:B2, D3:E4”。
插入或删除行或列将影响自动合并区域。任何其他 API 操作不会影响自动合并区域。
自动合并操作不会更改工作簿,因此 IRange 接口的 getMergeCells 和 getMergeArea 方法无法获取自动合并操作的结果。
如果 setIncludeAutoMergedCells 为 true,自动合并的单元格将作为普通跨距区域存储在 .xlsx、.sjs 和 .json 文件中。