Go to Google Groups Home    python-excel
Script to convert from XLSX to XLS

Michael <selmo2...@gmail.com>

Recently I needed to quickly convert XLSX workbooks to XLS workbooks
so I could then interact with them via xlrd.  Here it is, hopefully it
will be useful to someone.  :)  Note that pywin32 is required to
interact with Excel 2007, so unfortunately this script will work only
on Windows with Excel 2007 installed.

This script is to be executed in the directory of XLSX workbooks
pending conversion.

import glob
import os
import time
import win32com.client

xlsx_files = glob.glob('*.xlsx')

if len(xlsx_files) == 0:
    raise RuntimeError('No XLSX files to convert.')

xlApp = win32com.client.Dispatch('Excel.Application')

for file in xlsx_files:
    xlWb = xlApp.Workbooks.Open(os.path.join(os.getcwd(), file))
    xlWb.SaveAs(os.path.join(os.getcwd(), file.split('.xlsx')[0] +
'.xls'), FileFormat=1)

xlApp.Quit()

# Delete or comment out the following lines if you want to preserve
the
# original XLSX files.

time.sleep(2) # give Excel time to quit, otherwise files may be locked
for file in xlsx_files:
    os.unlink(file)