| |
python-excel |
Recently I needed to quickly convert XLSX workbooks to XLS workbooks
This script is to be executed in the directory of XLSX workbooks
import glob
xlsx_files = glob.glob('*.xlsx')
if len(xlsx_files) == 0:
xlApp = win32com.client.Dispatch('Excel.Application')
for file in xlsx_files:
xlApp.Quit()
# Delete or comment out the following lines if you want to preserve
time.sleep(2) # give Excel time to quit, otherwise files may be locked
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.
pending conversion.
import os
import time
import win32com.client
raise RuntimeError('No XLSX files to convert.')
xlWb = xlApp.Workbooks.Open(os.path.join(os.getcwd(), file))
xlWb.SaveAs(os.path.join(os.getcwd(), file.split('.xlsx')[0] +
'.xls'), FileFormat=1)
the
# original XLSX files.
for file in xlsx_files:
os.unlink(file)