Powerful, Fast & Easy to Use: Convert XLS to CSV Command line Tool from Softinterface
ConvertXLS /S{Input File(s)} /T{Output File(s)} /F# /C# [/M#] [/R] . . . [/L{LogFile}]
FYI: We're upgrading our website look and feel over the next 30 days. This page will be done soon!



Adobe Systems Inc. Chooses 'Convert Doc'.  A custom site license has been signed by Adobe allowing them to install 'Convert Doc' on their servers.  They will be using it specifically to do Doc to HTML conversions. "We look forward to using your product and potentially working together in the future", Bob Free, Adobe


Great customer service, prompt attention to our requirements and lightening speed development has been my experience with the staff at Softinterface Inc. Within a few hours of installing... Bruce King, IBM Canada, Toronto, Ontario

Click for the BBB Business Review of this Computers Hardware, Software & Services in Santa Monica CA


Command Line (Batch) Conversion of XLS to CSV, XLSX to CSV with/without MS Excel

(Batch Conversion of Excel Files to/from CSV, XLSX, Fixed Width Text, HTML, XML etc.)

'Convert XLS'  to batch convert xls to CSV files

In a rush? The downloadable installation contains demonstration batch files (*.bat) which are working examples that can be modified to your needs. After installation see the Start\Programs\Convert XLS\Example Batch Files.

Do you need a command line software tool to convert Excel to CSV (or CSV to Excel)?  If so, we got just the software you need. 'Convert XLS' can batch convert XLS to CSV (or XLSX) 10 to 20 times faster than using MS Excel.  You can specify the delimitation character used in your CSV file, which is most commonly the comma. Furthermore, Unicode and other text encodings (ASCII, ANSI, UTF8 etc.) are supported.

Our tool does not rely on MS Excel, although you can optionally specify to use it. Something to keep in mind for the security conscious.

Our conversion tools allow you to automate bulk Excel to CSV conversion by using the built in scheduler, command line (batch files, command prompt etc.), or for you programmers a COM/ActiveX interface.  You can even move or delete the input files after processing. Automatically converting whole folders and sub-folders is a snap!

Download 'Convert XLS' to convert xls to csv by command line

Office 2013 Compatible!

Convert XLS to CSV Command Line

Convert XLS To CSV Command Line Examples

NOTE: The examples below show command line conversion of XLS to CSV. To change to conversion of XLSX to CSV change the /F switch from /F-4143 to /F51


This is just a sample from the documentation. If you have trouble running these examples please see Helpful Hints For Creating a Command Line within the documentation or email us (we respond very quickly)!


The first example shows how to convert a single worksheet within an Excel file to the most popular form of a file, a comma delimited file as well as a Tab Delimited File (TSV).  It can be easily modified to convert from an Excel file to any character delimited CSV file.  Also in the first example we’ll show how to specify a specific range of cells within a sheet(s) to convert.

The second example shows how to convert multiple sheets within a single Excel file.  Creating a single and multi-file output is illustrated.

The third and final example shows how to convert one or more sheets within many Excel files within a folder (and subfolders).

Each switch shown in blue is described in detail below the examples. It is highly recommended you review each switches description before implementing the example, thereby giving you the full power of ‘Convert XLS’.

Although not shown in the examples below, the /H switch could have been added to include values in addition to formulas when converting the Excel file.

Example 1 (Single Sheet Conversion) 

To convert a single XLS file, C:\in\B.XLS (Sheet named "LastSheet") to a comma delimited CSV file, C:\out\B.CSV using MS Excel conversion method, the following syntax would be used:

ConvertXLS.EXE /S"C:\in\B.XLS" /F-4143 /N"LastSheet" /T"C:\out\B.CSV" /C6 /M1 /V

To do the same using the 'Convert XLS' conversion method (extremely fast and MS Excel not required) simply change the /M1 switch to /M2 as shown below:

ConvertXLS.EXE /S"C:\in\B.XLS" /F-4143 /N"LastSheet" /T"C:\out\B.CSV" /C6 /M2 /V

If you want a tab (ASCII 9) delimited file instead of a comma delimited file simply adjust the /N switch:

ConvertXLS.EXE /S"C:\in\B.XLS" /F-4143 /N"LastSheet^^9" /T"C:\out\B.CSV" /C6 /M2 /V

Change the 9 (tab character) in the example above to any character you want. Look at the ASCII Chart for numeric character equivalents. 

VERY IMPORTANT NOTE: Choosing the delimitation character is only possible when using the ‘Convert XLS’ (/M2) conversion method.

Building on the last example, say you want to specify a range, say A1:B10 within a sheet to convert. No problem, simply modify the /N switch as shown below:

ConvertXLS.EXE /S"C:\in\B.XLS" /F-4143 /N"LastSheet^A1:B10^9" /T"C:\out\B.CSV" /C6 /M2 /V

Specifying ranges can be very powerful. For example if you want to only extract column N you can use “N:N” for the range.


Example 2 (Multiple Sheet Conversion) 

In example 1 we saw how the /N switch is used to specify the sheet/range to convert and what delimitation character to use in the character separated CSV file.  Here we build upon that and show how to specify more than one sheet to convert.

To convert a single XLS file, C:\in\B.XLS (Sheets named "LastSheet","FirstSheet", and "MidSheet") to one CSV file, C:\Out\B.CSV, the following syntax would be used:

ConvertXLS.EXE /S"C:\in\B.XLS" /F-4143 /N"FirstSheet,LastSheet,MidSheet" /T"C:\Out\B.CSV" /C6 /M2 /V

After completion of this example the following file will be created containing all the data of the 3 sheets specified:


To create several output files you can add the /U switch like so:

ConvertXLS.EXE /S"C:\in\B.XLS" /F-4143 /N"FirstSheet,LastSheet,MidSheet" /T"C:\Out\B.CSV" /C6 /M2 /U  /V

After completion the output would be several files:




VERY IMPORTANT NOTE: The /U switch is only applicable to the ‘Convert XLS’ (/M2) conversion method.  Using the ‘MS Excel’ (/M1) Conversion method always produces a multi-file output.

If FirstSheet, MidSheet, and LastSheet were indexed 1,2 and 4 respectively, the same results can be attained by setting /N To /N"1-2,4"


Example 3 (Multiple File/Folder Conversion) 

Say you wanted to convert the 2nd sheet (/N"2") regardless of what the sheet name might be, of all the XLS files within the  “C:\in\” folder and subfolders (/R for recursive subfolders). To do this the syntax would be:

ConvertXLS.EXE /S"C:\in\*.XLS" /F-4143 /N"2" /T"C:\out\*.CSV" /C6 /M2 /R /V

 The example above can be modified to have the resulting files placed in the same folder as the original files.  By specifying the /G switch and removing the /T switch as shown below:

ConvertXLS.EXE /S"C:\in\*.XLS" /F-4143 /N"2" /G /C6 /M2 /R /V


In the last two examples, you can also use the /M1 switch to specify the ‘MS Excel’ conversion method.

  • 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 /C6 switch specifies that the target (output) file to be a CSV file whereas the /F-4143 switch specifies the original (input file) is a XLS file.    See Excel Conversion File Type Constants (documentation) for all possible values for /C and /F.

  • The /M2 switch tells it to use the ‘Convert XLS’ conversion method which is exceptionally fast. Note the /M1 switch could have been 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^X}"  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 like: /N"Apples,Oranges^A2:B20^9"

Sheet:  Only used when an Excel file is the original file. 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 and DelimChar are optional.

Range: You could optionally specify a range, say if you only wanted to convert a portion of the input file.  Use the same syntax as an Excel range (e.g. A1:B10).

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: Here you can specify how to import/export a fixed width text file.  Not used in this example.

  •  /H If converting from XLS to something else and using the ‘Convert XLS’ conversion method (/M2) you can optionally specify to include values along with formula, much like "MS Excel" conversion method does.

  •  /U If converting an XLS file with multiple sheets specified, the /U switch will generate multiple files instead of a single file.

  • 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.