C#实现Excel仅自动适配可见列,忽略隐藏列的方法
仅适配Excel可见列宽的代码修改方案
原代码会自动适配指定范围内的所有列(包括隐藏列),要实现只适配可见列,核心思路是遍历范围内的每一列,判断列的可见状态后再执行自动适配,以下是修改后的代码:
// 示例:img.cellRange = "G6:Q39" var targetWorksheet = workbook.ActiveWorksheet; var targetColumns = targetWorksheet.Cells[img.cellRange].Columns; // 遍历范围内的每一列 foreach (var column in targetColumns) { // 仅对未隐藏的列执行自动适配 if (!column.Hidden) { column.AutoFit(); } }
关键说明
- 遍历指定范围的列集合,通过
column.Hidden属性判断列是否可见,跳过隐藏列只处理可见列; - 针对多工作表场景,只需确保
targetWorksheet指向当前需要处理的工作表对象即可,无需修改核心遍历逻辑; - 无论
img.cellRange的范围如何变化,代码都会自动处理该范围内的所有可见列,适配不固定范围的需求。
内容的提问来源于stack exchange,提问作者Omi in a hellcat
相关产品推荐
相关产品推荐

