column

Convert Excel headers to numbers

Quite often I have to convert datasets from one source to another target. Sometimes I can only export them as CSV to investigate the field order/column structure

Then, once I work out the columns I can import them. But, the headings are often not in the source, so I only have Excel/OpenOffice column headers which go from A to Z and then AA to AZ, and BA to BZ, etc etc

I needed a quick way to convert these to numbers, so I could state “the 141st column is /this/ field”

So here it is:

$(document).ready(function() {
    $("#testes").on("keyup", function(event) {
        var str = $(this).val();
        if (str.length == 1) {
            $("#results").val(get_string_value(str));
        } else {
            var fstr = str.slice(0,1);
            var estr = str.slice(1,2);
            $("#results").val(get_string_value(estr) + (get_string_value(fstr) * 26));
        }
    });
});

function get_string_value(str) {
    return str.charCodeAt() - 96;
}

Or if you like, a fiddle: http://jsfiddle.net/8eAV6/

MySQL Rename Field

To rename a field, there are loads of examples and different syntax on the web, so I thought I would blog the only one that works for me:

ALTER TABLE <table_name>
    CHANGE COLUMN <field_name> <new_field_name>;

I think you have to specify the field type even if you aren’t changing it.

ALTER TABLE clients
    CHANGE COLUMN telephone telephonenumber
    VARCHAR(40) DEFAULT NULL;