/* * Convert the second column of an Excel range ref to a zero indexed number. */ uint16_t lxw_name_to_col_2(const char *col_str) { const char *p = col_str; /* Find the : separator in the range. */ while (p && *p != ':') p++; if (p) return lxw_name_to_col(++p); else return -1; }
// Test _xl_get_col(). CTEST(utility, lxw_name_to_col) { ASSERT_EQUAL(0, lxw_name_to_col("A1")); ASSERT_EQUAL(1, lxw_name_to_col("B1")); ASSERT_EQUAL(2, lxw_name_to_col("C1")); ASSERT_EQUAL(9, lxw_name_to_col("J1")); ASSERT_EQUAL(24, lxw_name_to_col("Y1")); ASSERT_EQUAL(25, lxw_name_to_col("Z1")); ASSERT_EQUAL(26, lxw_name_to_col("AA1")); ASSERT_EQUAL(254, lxw_name_to_col("IU1")); ASSERT_EQUAL(255, lxw_name_to_col("IV1")); ASSERT_EQUAL(256, lxw_name_to_col("IW1")); ASSERT_EQUAL(16383, lxw_name_to_col("XFD1")); ASSERT_EQUAL(16384, lxw_name_to_col("XFE1")); ASSERT_EQUAL(0, lxw_name_to_col("$A1")); ASSERT_EQUAL(0, lxw_name_to_col("A$1")); ASSERT_EQUAL(0, lxw_name_to_col("$A$1")); }