/// <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()); }
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)}"); }
/// <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}"); }