File Mover Blog

January 19, 2019

How-To Convert XLS Files using Pascal Script

Dear Users,

We got a request to add an option to convert xls(x) to csv and txt. It should work without Excel being installed. All should be native code.

This options was added as a Pascal Script function in version v2019.1.19.0.

– Use psConvertXlsFile to convert xls(s) files to xls(x), csv, txt, …

Function psConvertXlsFile(SrcFile, DstFile: String; Format: Integer; Delimiter: Char; Encoding: Integer; Sheet: String): Boolean;

SrcFile = Source File (FilePath + filename)
DstFile = Destination File (FilePath + Filename)
Format = Destination File format

  • 0 = Automatic Automatically detect the type of the file when opening files.
  • 1 = Xls Excel 97-2000-XP-2003
  • 2 = Text Delimiter separated values. Depending on the delimiter, this can be csv, tab delimited text, etc.
  • 3 = Pxl Pocket Excel 1.0 or 2.0
  • 4 = Xlsx Excel 2007 standard file format. Note that this is *not* a macro enabled file format. If you want to save a file with macros, you need to use Xlsm instead.
  • 5 = Xlsm Excel 2007 macro enabled file format.

Delimiter = Delimiter Char to use if Format Text ( #09 = Tab )
Encoding = Encoding for the generated file, when writing a Text-delimited file (csv or txt). This parameter has no effect on xls/x files.

  • 0 = UTF8
  • 1 = UTF7
  • 2 = Unicode
  • 3 = Default
  • 4 = BigEndianUnicode
  • 5 = ASCII
  • 6 = ANSI

Sheet = Name of the sheet that needs to be converted

Pascal Script Examples:

i.e. Convert the sheet Results of a xls(x) file to a tab delimited txt file. Destination will be a UTF8 encoded text file.

Const
  CsvPath = 'C:\Test\OUT_XLS\';
Begin
  psExitCode := 0;
  // ... add your code here
  If psConvertXlsFile(psFilePath + psFileName, CsvPath + ChangeFileExt(psFileName, '.txt'), 2, #09, 0, 'Results') Then psExitCode := 1;
End.

i.e. Convert the sheet Results of a xls(x) file to a csv delimited txt file. Destination will be a UTF8 encoded text file.
Const

Const
  CsvPath = 'C:\Test\OUT_XLS\';
Begin
  psExitCode := 0;
  // ... add your code here
  If psConvertXlsFile(psFilePath + psFileName, CsvPath + ChangeFileExt(psFileName, '.csv'), 2, ',', 0, 'Results') Then psExitCode := 1;
End.

Don’t hesitate to contact us if you need any information about this new function.

Regards,
Limagito Team

By Limagito-Team Pascal Script XLS/CSV , , , , Share:
SEARCH