import wx
import win32com, win32com.client

class EFrame(wx.Frame):
    def __init__(self, parent):
        #this may take some time - it generates the Python wrapper
        #for the excel com objects & starts excel if not running
        wx.Frame.__init__(self, parent, 
            style=wx.DEFAULT_FRAME_STYLE | wx.FRAME_TOOL_WINDOW | wx.STAY_ON_TOP
        )
        self.excel = win32com.client.gencache.EnsureDispatch("Excel.Application")
        self.excel.Visible = True
        #create a new workbook
        self.excel.Workbooks.Add()
        
        self.data = ['zero', 'one', 'two', 'three', 'four', 'five',
            'six', 'seven', 'eight', 'nine', 'ten', 'eleven',
            'twelve', 'thirteen', 'fourteen']
        self.list = wx.ListBox(self, choices=self.data)
        self.Bind(wx.EVT_LISTBOX, self.OnListBoxEvent,source=self.list)
    def OnListBoxEvent(self, evt):
        column = 1
        row = self.data.index(evt.String)
        self.excel.ActiveSheet.Cells(row, column).Value = evt.String
    
if __name__ == '__main__':
    app = wx.App(False)
    f = EFrame(None)
    f.Show()
    app.MainLoop()