Example #1
0
/*
 * 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;
}
Example #2
0
// 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"));
}