예제 #1
0
 /// <summary>
 ///     返回 范围内的 单元格集合,按照 列 优先
 ///     该方法 不支持 合并单元格检测
 /// </summary>
 /// <param name="range"></param>
 /// <returns></returns>
 public static IEnumerable <ExcelReference> Cells(this ExcelReference range)
 {
     if (range.IsSingleCell())
     {
         return(new[] { range });
     }
     return(range.InnerReferences.Cells());
 }
예제 #2
0
 public static string AddressR1C1(this ExcelReference range)
 {
     if (range.IsSingleCell())
     {
         return(AddressParser.ToAddressR1C1(range.RowFirst, range.ColumnLast));
     }
     return($"{AddressParser.ToAddressR1C1(range.RowFirst, range.ColumnFirst)}:{AddressParser.ToAddressR1C1(range.RowLast, range.ColumnLast)}");
 }
예제 #3
0
 /// <summary>
 /// 获取 指向单元格的公式
 /// </summary>
 /// <param name="range"></param>
 /// <param name="useFirstCell">使用单元格范围中第一个单元格</param>
 /// <returns></returns>
 public static string Formula(this ExcelReference range, bool useFirstCell = false)
 {
     if (useFirstCell || range.IsSingleCell())
     {
         return($"=${AddressParser.GetColumnName(range.ColumnFirst)}${range.RowFirst+1}");
     }
     return($"=${AddressParser.GetColumnName(range.ColumnFirst)}${range.RowFirst+1}:${AddressParser.GetColumnName(range.ColumnLast)}${range.RowLast+1}");
 }