If you have trouble running these examples please see Using the Command Line and Helpful Hints For Creating a Command Line.
The first example shows how to convert the most popular form of a CSV file, a comma delimited file, to a Fixed Width Text file using the ‘Convert XLS’ conversion method. If you have a bar "|" (ASCII 124), or a tab (ASCII 9) delimited CSV file simply swap out the 44 (ASCII value for the comma) with the appropriate ASCII numeric value. Also, this example illustrates one of three viable methods to convert from a CSV to a fixed width text file. In example 1 we show how to specify every columns width. Alternatively you can have it auto size the column width to retain all the data by simply changing the 4th item in the /N switch from 2 to 0. In this case you do not need to specify the column widths. Example 2 will demonstrate this. The 3rd example shows how to use the ‘MS Excel’ conversion method. Note that it is only with the ‘Convert XLS’ conversion method that you can specify each column individually.
Each switch shown in blue is described in detail below the examples given. It is highly recommended you review each switches description before implementing the example, thereby giving you the full power of ‘Convert XLS’.
Example 1: CSV File to a Fixed Width Text File (Specify Columns)
First specify your fixed width text file format using the Using the Fixed Width Text Profile Editor. You give a profile a name, in this case lets call it Profile142. To convert a single comma delimited CSV file (recall that the comma character has an ASCII numeric value of 44), "C:\in\input.CSV" to an fixed width text file the following syntax would be used:
ConvertXLS.EXE /S"C:\in\input.CSV" /T "C:\out\out.txt" /C21 /F6 /M2 /N"^^44^2^Profile142" /V
To convert a whole folder (and subfolders) of comma delimited CSV files, C:\in\*.CSV to fixed width text files located in the C:\out\ folder, the following syntax would be used:
ConvertXLS.EXE /S"C:\in\*.CSV" /T "C:\out\*.txt" /C21 /F6 /M2 /N"^^44^2^Profile142" /R /V
The /G switch can be used to tell ‘Convert XLS’ to simply place each output file in the same folder as each input file. Therefore the command line above is equivalent to the command line below:
ConvertXLS.EXE /S"C:\in\*.CSV" /G /C21 /F6 /M2 /N"^^44^2^Profile142" /R /V
You may simply want to convert a whole folder and its subfolders and place the output into a separate folder/drive. In which case use this syntax:
ConvertXLS.EXE /S"C:\in\*.CSV" /T "C:\Out\*.txt" /C21 /F6 /M2 /N"^^44^2^Profile142" /R /V
Example 2: CSV File to a Fixed Width Text File (Autosize Columns)
This is identical to the first example of Example 1, however this time we don’t specify each column width, rather, we allow ‘Convert XLS’ to automatically size the columns to fit all the data. Notice the only change is in the /N switch.
ConvertXLS.EXE /S"C:\in\input.CSV" /T "C:\out\out.txt" /C21 /F6 /M2 /N"^^44^0" /V
Of course the example immediately above can be adapted to do whole folders and subfolders similar to what we did in Example 1.
Example 3: CSV File to a Fixed Width Text File (Using ‘MS Excel’ Conversion Method)
In this case we use MS Excel to convert from a CSV file to a Fixed Width Text file. Notice that when using the ‘MS Excel’ conversion method, we can’t specify each column width and this will be a slower conversion.
ConvertXLS.EXE /S"C:\in\input.CSV" /T "C:\out\out.txt" /C21 /F6 /M1 /N"^^44" /V
· The /S and /T switches above specify Source (input) and Target (output) path respectively and are both required when converting a single file. It is always a good idea to use double quotes around the path especially if there are space characters within the path.
· The /C21 switch specifies that the target (output) file to be a fixed width text file whereas the /F6 switch specifies the original (input file) is a CSV file. See Excel Conversion File Type Constants for all possible values for /C and /F.
· The /M2 switch tells it to use the ‘Convert XLS’ conversion method which is exceptionally fast. /M1 switch is used to specify the ‘MS Excel’ conversion method which is a bit slower and requires MS Excel.
· The /R switch tells it to search the original folder and its subfolders for files to convert.
· /G switch can be used to tell ‘Convert XLS’ to simply place each output file in the same folder as each input file.
· /N"{Sheet^Range^DelimChar^FixedWidth^Profile}" Is used when converting to/from an Excel, CSV or fixed width text file. It specifies which Sheets to convert, what Range to convert and what delimitation/separation character to use, and the method to import export to a fixed width text file. The syntax for this parameter is critical, the items are separated by a carrot character "^". If you do not include Sheet, Range or DelimChar by leaving them blank they will default to all sheets, all used ranges and the comma delimitation character. Be certain to include the double quotation character around this parameter.
Sheet: Use "*" or "" for all sheets. You can use names of sheets, or the numeric index. If using numeric indices, you can specify ranges of sheets (i.e. "1,4,10-20" and "4-10,9" etc.).
Range: Not used in these examples. You could optionally specify a range; say if you only wanted to convert a portion of the input XLS file. Use the same syntax as an Excel range (e.g. A1:B10, B:B).
DelimChar: is for specifying the ASCII value of the delimitation character used in a CSV file. 44 for comma, 124 for Bar "|", 9 for the tab etc.
FixedWidth: ‘Convert XLS’ Conversion Method only (/M2). Here you can specify how to import/export a fixed width text file. The following numeric values are valid:
0 = Auto size column widths to fit all data (Default)
1 = Use same widths as specified in the Excel file
2 = Use widths specified by the Profile. Widths can be specified in the user interfaces Fixed Width Text Profile Editor.
Profile = If you are specifying a fixed width text profile to use do it with this parameter. Use the Fixed Width Text Profile Editor to generate a profile. The full path to the txt file could be used. As an example if you want to specify to convert sheets called ‘Apples’ and ‘Oranges’, and use the range "A2:B20" and a fixed width text file profile named MyFixedWidth you would do so like this:
/N"Apples,Oranges^A2:B20^^2^MyFixedWidth"
· The /V (for Verbose) switch is used to give instant feedback by having the program report the status of the conversion with a message box. You can remove this once you have perfected your command line specification. You can also (or instead of /V) create a Log file that will contain the results of the conversion by using the /L switch.
Note: It is highly encouraged that you use the Verbose (/V) switch initially to see what the status of your conversion is and to help you perfect your command line. When in verbose mode the program will tell you what went wrong or right with your command line using message boxes.