Converting a Spreadsheet or Column-oriented Text Log (like 
    Cabrillo) to ADIF
	
If you have a spreadsheet program, you can use it to convert 
    most text logs, as well as spreadsheet logs, to ADIF. Instructions are given 
    here for Microsoft Excel, OpenOffice.org's Calc, and Microsoft Works.
    
    Before you start, make a backup copy of your log file and store it in a safe 
    place (another folder, for example), so that when the inevitable happens and 
    the file you are working on gets overwritten by accident, you can restore 
    your data. 
Importing a text (or Cabrillo) file
If your log is already in a spreadsheet format, you can skip to the next section.
If your log is a text file, such as a Cabrillo or other column-oriented log, you need to get it into a spreadsheet program, with each column of the text in a separate column of the spreadsheet. There are detailed step-by-step instructions in this section on how to do this with Excel and OpenOffice.org's Calc program. I haven't figured out how to do this easily using the Works spreadsheet program, as it always insists on putting all of the data in column A. You could try using a text editor to change all sequences of more than one space to a single space, then change all spaces to commas or tabs, and finally rename the file to have a .csv extension before opening it with the Works spreadsheet.
Excel: Open the Excel program. Select the File -> Open menu item. At the bottom of the dialog box, beside "Files of type:", choose "All Files (*.*)". Navigate through your file system until you find the text file you want to convert to ADIF. When you click on "Open" you should see a dialog box for the Text Import Wizard.
The first thing to do is scroll down in the 
    file preview until you find the first actual data line. In a Cabrillo file, scroll 
    past the header until you reach the first QSO: line. Make sure the number in 
    the "Start import at row:" box points to this line.
    
    Next you choose between Delimited and Fixed Width formats. If your file uses commas or semicolons to separate fields (e.g. a CSV 
    file), select the Delimited format. The Fixed Width format is intended for 
    files that are organized into fixed-position columns. If the widths of some 
    of the columns vary, the Delimited format using space characters as the 
    delimiters may work better. If some of the 
    fields in your file can contain spaces (for example, a QTH like "New York" 
    has a space in it), or if some fields can be left blank in some lines, you 
    must select the Fixed Width option. Some files (e.g. most Cabrillo files) 
    can be done either way, using spaces as the delimiters. Try it one way, and if that doesn't work well, try 
    the other.
    
    Fixed Width: When you click on Next, you will see a preview with 
    vertical break lines between some of the columns. You will probably have to 
    add, delete or move break lines to get them where you want them. For 
    left-justified fields, you will want to put the break immediately to the 
    left of the column; for right-justified fields, the break works best 
    immediately to the right of the column. You want to set things up so that 
    the columns are cleanly separated by break lines, and none of the fields are 
    split up by a break line in the middle of the field.
    
    Delimited: When you click on Next, you will be asked to select the 
    delimiter character(s) your file uses. If the fields are separated by commas 
    or semicolons, check the appropriate box. If they are separated by spaces, as 
    in a Cabrillo file, check "Space" and make sure that the "Treat consecutive 
    delimiters as one" box is also checked (note that for a comma- or 
    semicolon-delimited file, this box should not be checked).
    
    With either format, after clicking on Next you are able to select the data 
    format for each field or column. You can choose to ignore, i.e. not to import, a column (e.g. 
    the "QSO:" at the beginning of each Cabrillo line). If a column contains 
    dates, it is best to choose "Date" with the correct order (YMD for a 
    Cabrillo file) - it's a lot easier to handle dates if they are imported as 
    dates rather than text or numbers.
    
    When you click on Finish, the log will be imported. The date column format 
    may be different from the way it was in the log - that's OK, we will fix up 
    the date format later. Down at the bottom of the spreadsheet you will see a 
    tab with the file name (not including the .txt or .log or .cbr extension). 
    You will be using this name later, so take note of it.
	
	
	If your log file contains extra lines, such as for example summary lines at 
    the beginning and/or end of each page, you should delete them from the 
    spreadsheet. If you imported a Cabrillo file and there is an END-OF-LOG: 
    line (or a remnant of it) at the end of the file, you should delete that 
    line from the spreadsheet.
Calc: You start things off differently with this 
    program. If you try to open a .txt file with Calc, it will outsmart you and open it with Writer 
    instead, which is not what you want. Rename the file so that its filename 
    ends in .csv (you remembered to make a backup first, didn't you?). Calc uses 
    .csv for all text-format spreadsheets, even in fixed column formats. Now 
    start the Calc program, select File -> Open, if necessary set "Files of 
    type:" to "All Files (*.*)", find the newly renamed .csv file and open it. 
    This will open the Text import dialog box.
    
    Unlike Excel, everything is done in the one dialog box (no "Next" steps). 
    In the preview box, scroll down to the first data line and set the starting row 
    number in the "From row:" box. Choose either 
    "Fixed width" or "Separated by", depending on whether 
    the file is in fixed columns or uses separators between fields. Some files 
    (e.g. many Cabrillo files) will work either way, using spaces as the 
    delimiters. If you choose Fixed width, you will have to 
    set all of the column separators in the column numbering bar above the 
    preview of the file. If you choose "Separated by", you can choose the 
    delimiter character; if it is 'Space", remember to check the "Merge 
    delimiters" box as well. In either case, once you have got the columns set 
    up, then above each field you can choose "Standard", "Hide" (for fields you 
    don't want to import, like the "QSO:" in a Cabrillo file), or "Date (YMD)" for 
    the date field (assuming it is in the yyyy-mm-dd order).
    
    When you click on "OK", the file will be imported. The tab at the bottom 
    will probably  read "Sheet1". That's fine; you don't need to change it. 
    Remember to delete extraneous rows from the spreadsheet (e.g. page summary 
    lines, the END-OF-LOG: line at the end of a Cabrillo file).
Converting to ADIF
Now that you have your log imported into a spreadsheet, you 
    can use spreadsheet text manipulation formulas to create a new worksheet 
    with the data in ADIF format. In the examples that follow, I will assume 
    that you have imported a "standard" Cabrillo log with frequency in column A, mode in 
    column B, date in column C, time in column D (don't worry if 0001 shows up 
    as just 1; we will fix that), your call sign in column E, two sent exchange 
    fields in columns F and G, the other station's call sign in column H, and 
    two received exchange fields in columns I and J. You should be able to 
    figure out how to handle other log formats based on the description below.
    
    First, create a new worksheet to hold the ADIF file. In Excel, you use the 
    Insert -> Worksheet menu item to do this. The tab for the new (empty) 
    worksheet will be named "Sheet1". Below, I am going to assume that the original 
    worksheet was called "Mylog"; you will have to change the formulas in the 
    instructions below to use the actual name. In Calc, you use the Insert -> 
    Sheet menu item. The new sheet will probably be named "Sheet2". The Works 
    spreadsheet program does not support worksheets, so you will have to use a 
    separate set of columns in the main spreadsheet instead. I will assume you 
    are using columns AA, AB, ... to hold the ADIF fields.
In cell A1 of the new sheet (cell AA1 in the Works spreadsheet), enter the 
    following formula:
    
    Excel:   
In cell B1 of the new sheet (cell AB1 in the Works spreadsheet), enter the 
    following formula:
    
    Excel:   
In cell C1 of the new sheet (cell AC1 in the Works spreadsheet), enter the 
    following formula:
    
    Excel:   
In cell D1 of the new sheet (cell AD1 in the Works spreadsheet), enter the 
    following formula:
    
    Excel:   
In cell E1 of the new sheet (cell AE1 in the Works spreadsheet), enter the 
    following formula:
    
    Excel:   
Copy the formula from cell E1 of the new sheet and paste it into cell F1 
    (from AE1 to AF1 in the Works spreadsheet). Select cell F1 (AF1 in Works), 
    put the cursor in the formula entry box above the sheet and change "station_callsign" 
    to one of the following, depending on the contest exchange (use the one 
    appropriate to the first exchange element for the contest):
    For your sent RST, use "rst_sent"
    For your sent serial number, use "stx"
    For your transmitted power, use use "tx_pwr"
    For your name, use "my_name" (ADIF 2 only)
    For your state/province, use "my_state" (ADIF 2 only)
    For your CQ zone, use "my_cq_zone" (ADIF 2 only)
    For your ITU zone, use "my_itu_zone" (ADIF 2 only)
    For your grid square, use use "my_gridsquare" (ADIF 2 only)
    For your IOTA designator, use use "my_IOTA" (ADIF 2 only)
    If your contest exchange includes a field that is not supported by ADIF (e.g. 
    county abbreviations that do not match the ADIF format for counties), you 
    can use "stx_string" as the field name in ADIF 2, or "comment" in ADIF 1.
Repeat the above for cell G1, except that the identifier will be the one appropriate to the second exchange element.
Repeat again for cell H1. This time change the identifier to "call". If the entry in cell H1 of the original log was AA6YQ/1, the entry in the new cell should look like <call:7>AA6YQ/1
Repeat again for cell I1. This time the possible identifiers to use include:
    For the received RST, use "rst_rcvd"
    For the received serial number, use "srx"
    For the received power, use "rx_pwr"
    For the received name, use "name"
    For the received state/province, use "state"
    For the received CQ zone, use "cqz"
    For the received ITU zone, use "ituz"
    For the received grid square, use "gridsquare"
    For the received IOTA designator, use "IOTA"
    For the received ARRL section, use "ARRL_sect"
    For the received age, use "age"
    For contest exchange fields that are not supported by ADIF, you can use "srx_string" as 
    the field name in ADIF 2, or "comment" in ADIF 1.
Repeat for cell J1.
Assuming you have now converted all of the fields in the first line of the 
    original log, enter the following into cell K1 (AK1 in Works):
Now select cells A1 to K1 (AA1 to AK1 in Works) and press Ctrl-C (for Copy). 
    Select cells from A2 down far enough to cover the entire log (e.g. if there are 
    975 lines in the log in the first sheet, down as far as K975 - AA2 down to 
    AK975 in Works) and press Ctrl-V (for Paste). The entire log should now be 
    in the new sheet in ADIF format, in cells A1 to K975 in Excel or Calc, and 
    in cells AA1 to AK975 in Works (for our example with 975 entries in the 
    log).
    
    Before exporting the ADIF file, you might want to save all those formulas 
    you typed in so that you can use them again another time. Choose the File -> Save 
    As menu item, choose a new file name (e.g. ADIF_conversion.xls), select the 
    file type (choose a spreadsheet format that supports the spreadsheet features and 
    formulas you have used; do not use a text format or you will lose all the 
    formulas), and save the file. You can reopen this file later to recover the 
    formulas for use with another log file. After importing another file into 
    the spreadsheet program and creating a new sheet, you can select the 
    formulas in A1 to K1 (AA1 to AK1 in Works) in your saved spreadsheet file, 
    copy them, and paste them into the new sheet. You will probably have to edit 
    the formulas in columns F, G, I and J for each new contest, but that's a lot 
    easier than retyping all of the formulas every time you want to convert another 
    log.
Exporting the ADIF file
To export the log from Excel, select the File -> Save As 
    menu item. In the "Save as type:" box, select "Text (Tab delimited) 
    (*.txt)". Choose the output file name (e.g. file.adi) and enter it in the 
    "File name:" box. Click on "Save". Excel will complain twice, 
    first about saving only the current sheet from a multiple-sheet workbook 
    (click "OK"), and then about losing advanced features in text format (click 
    "Yes"). You should now have a 
    valid ADIF file containing your log data, which you can import into a 
    logging or QSLing program, upload to eQSL, sign with tQSL, etc.
    
    To export the log from Calc, select the File -> Save As menu item. Enter the 
    output file name (e.g. file.adi) in the "File name:" box. In the "Save as 
    type:" box, select "Text CSV (.csv)". Uncheck the "Automatic file extension" 
    box, and be sure to check the "Edit filter settings" box 
    (important!). Click on Save. The program may complain about losing advanced 
    features in text format - click "Yes". You should now see a 
    dialog box for export of text files; if you don't, you forgot to check the 
    "Edit filter settings" box, in which case you should cancel out and try 
    again.. In the export text dialog box, he "Field delimiter" should read 
    either {Tab} or {space}. The "Text delimiter" box should be completely empty 
    (Important: do NOT leave the default " in this box!). The "Save cell content 
    as shown" box should be checked, and "Fixed column width" should not be 
    checked. Click on "OK" to save the file. There will be a warning 
    about saving only the current sheet, just click "OK".
    
    To export the log from Works, you will first have to delete all of the 
    original log data. In the example, select columns A to Z and then select the 
    Insert -> Delete Column menu item (do not use the Delete key; that only 
    clears the columns, it does not delete them). The ADIF fields that were 
    originally in columns AA to AK should now be in columns A to K. Now select the 
    File -> Save As menu item. In the "Save as type:" box, select "Text & tabs 
    (*.txt)". Enter the output file name (e.g. file.adi) in the "File name:" 
    box. Click on "Save", and when it asks "OK to save without formatting?", 
    click on "OK".
Thanks to Gary Danaher for the suggestion that led to the procedure on this page.