@@ -4,7 +4,8 @@ public class RowsFitTag : OptionTag
4
4
{
5
5
public override void Execute ( ProcessingContext context )
6
6
{
7
- var xlCell = Cell . GetXlCell ( context . Range ) ;
7
+ var xlRange = context . Range ;
8
+ var xlCell = Cell . GetXlCell ( xlRange ) ;
8
9
var cellAddr = xlCell . Address . ToStringRelative ( false ) ;
9
10
var cellRow = xlCell . WorksheetRow ( ) . RowNumber ( ) ;
10
11
var cellClmn = xlCell . WorksheetColumn ( ) . ColumnNumber ( ) ;
@@ -26,18 +27,28 @@ public override void Execute(ProcessingContext context)
26
27
// worksheet row
27
28
else if ( cellClmn == 1 )
28
29
{
29
- ws . Rows ( cellRow , cellRow ) . AdjustToContents ( ws . FirstColumnUsed ( ) . ColumnNumber ( ) , ws . LastColumnUsed ( ) . ColumnNumber ( ) ) ;
30
+ var firstColumnUsed = ws . FirstColumnUsed ( ) ;
31
+ if ( firstColumnUsed != null )
32
+ ws . Rows ( cellRow , cellRow ) . AdjustToContents ( firstColumnUsed . ColumnNumber ( ) , ws . LastColumnUsed ( ) . ColumnNumber ( ) ) ;
30
33
}
31
34
// whole range
32
35
else if ( IsSpecialRangeCell ( xlCell ) )
33
36
{
34
- ws . Rows ( context . Range . FirstRowUsed ( ) . RowNumber ( ) , context . Range . LastRowUsed ( ) . RowNumber ( ) )
35
- . AdjustToContents ( context . Range . FirstColumnUsed ( ) . ColumnNumber ( ) , context . Range . LastColumnUsed ( ) . ColumnNumber ( ) ) ;
37
+ var firstUsed = xlRange . FirstCellUsed ( ) ;
38
+ var lastUsed = xlRange . LastCellUsed ( ) ;
39
+
40
+ if ( firstUsed != null && lastUsed != null )
41
+ {
42
+ ws . Rows ( firstUsed . WorksheetRow ( ) . RowNumber ( ) , lastUsed . WorksheetRow ( ) . RowNumber ( ) )
43
+ . AdjustToContents ( firstUsed . WorksheetColumn ( ) . ColumnNumber ( ) , lastUsed . WorksheetColumn ( ) . ColumnNumber ( ) ) ;
44
+ }
36
45
}
37
46
// range row
38
- if ( cellClmn == context . Range . RangeAddress . FirstAddress . ColumnNumber )
47
+ if ( cellClmn == xlRange . RangeAddress . FirstAddress . ColumnNumber )
39
48
{
40
- ws . Rows ( cellRow , cellRow ) . AdjustToContents ( context . Range . FirstColumnUsed ( ) . ColumnNumber ( ) , context . Range . LastColumnUsed ( ) . ColumnNumber ( ) ) ;
49
+ var firstColumnUsed = xlRange . FirstColumnUsed ( ) ;
50
+ if ( firstColumnUsed != null )
51
+ ws . Rows ( cellRow , cellRow ) . AdjustToContents ( firstColumnUsed . ColumnNumber ( ) , xlRange . LastColumnUsed ( ) . ColumnNumber ( ) ) ;
41
52
}
42
53
// only one cell
43
54
else
0 commit comments