Write excel 2003 files from python 3.x
Open them with Excel 2007 and save them as Excel 2003. You can do it with a simple VBA macro, or from Python, without even showing the Excel application to the user. The only problem is that you need Excel in your computer.
Here is the VBA code:
Sub ConvertTo2003(FileName As String)
Dim WB As Workbook
Set WB = Workbooks.Open(FileName, ReadOnly:=True)
WB.SaveAs Replace(FileName, ".xlsx", ".xls"), FileFormat:=xlExcel8
WB.Close
End Sub
Here is the Python code:
xlApp = Excel.ExcelApp(False)
xlApp.convertTo2003('FileName.xlsx')
class ExcelApp(object):
def __init__(self, visible):
self.app = win32com.client.Dispatch('Excel.Application')
if visible:
self.app.Visible = True
def __exit__(self):
self.app.Quit()
def __del__(self):
self.app.Quit()
def convertTo2003(self, fileName):
if self.app:
wb = self.app.WorkBooks.Open(fileName, ReadOnly = True)
wb.SaveAs(fileName[:-1], FileFormat = 56)
wb.Close()
def quit(self):
if self.app:
self.app.Quit()