如何使用Aspose仅自动调整仅含合并单元格的行?
解决方案
要实现仅自动调整包含合并单元格的行,你需要遍历工作表的每一行,先判断该行是否存在合并单元格,再对符合条件的行单独执行自动调整操作。具体代码如下:
AutoFitterOptions options = new AutoFitterOptions(); options.AutoFitMergedCells = true; // 遍历工作表的所有数据行 for (int row = 0; row < _worksheet.Cells.MaxDataRow + 1; row++) { bool hasMergedCells = false; // 获取工作表中所有合并区域 Range[] mergedRanges = _worksheet.Cells.GetMergedCells(); if (mergedRanges != null) { // 检查当前行是否包含在任意合并区域内 foreach (Range range in mergedRanges) { if (row >= range.FirstRow && row <= range.LastRow) { hasMergedCells = true; break; } } } // 仅对包含合并单元格的行执行自动调整 if (hasMergedCells) { _worksheet.AutoFitRow(row, options); } }
代码说明
- 遍历范围覆盖到工作表的
MaxDataRow,确保包含所有已写入数据的行(包括后续新增的行,只要执行这段代码时数据已完成写入) - 通过
GetMergedCells()获取所有合并区域,逐个判断当前行是否属于某合并区域 - 仅对包含合并单元格的行调用
AutoFitRow,并传入支持合并单元格自动调整的选项,其余行保持原有行高不变
内容的提问来源于stack exchange,提问作者Tom Kurian
相关产品推荐
相关产品推荐

