I am close to finishing a project using Excel objects in python to generate a series of graphs.
However....

I can't get the series to add to the chart properly.

I have an Excel chart with no series on it, so I am trying to add new series using the Chart.SeriesCollection.NewSeries call, but get the following error message:

Traceback (most recent call last):
  File "O:\gis\projects\Reactors\Code\Python_Scripts\CMP_PITS_Chart_Tool\chart_tool.py", line 133, in ?
    create_series(filename, graph, series, scell, data, scount)
  File "O:\gis\projects\Reactors\Code\Python_Scripts\CMP_PITS_Chart_Tool\chart_tool.py", line 70, in create_series
    se = chart.SeriesCollection.NewSeries
AttributeError: 'function' object has no attribute 'NewSeries'


Code:


def create_series(filename, graph, series, startcell, data, scount):#Assumes data is list, graph is a tuple, series is a tuple, startcell is a tuple
    #instatiate the Excel object
    xl = win32com.client.Dispatch("Excel.Application")  
    #Open the workbook
    wb = xl.Workbooks.Open (filename)
    sh = wb.Sheets('ALLDATA')
    #write the data to the proper spot on the spreadsheet
    try:
        sh.Cells(startcell[0], startcell[1]).Value = series[2] + '_' + graph[0] + '_' + graph[5]
        n = 1
        for row in data:
            sh.Cells(startcell[0]+n, startcell[1]).Value = row[0]
            sh.Cells(startcell[0]+n, startcell[1]+1).Value = row[1]
            n = n + 1
        chart = wb.Charts(graph[0] + "_" + graph[5])
        se = chart.SeriesCollection.NewSeries
        se.Name = series[2]
        se.XValues = '"=' + graph[0] + '_' + graph[5] + '!R' + str(startcell[0] +1) + 'C' + str(startcell[1]) + ':R' + str(startcell[0]+n) + 'C' + str(startcell[1]) + '"'
        se.Values = '"=' + graph[0] + '_' + graph[5] + '!R' + str(startcell[0] +1) + 'C' + str(startcell[1]+1) + ':R' + str(startcell[0]+n) + 'C' + str(startcell[1]+1) + '"'
        xl.ActiveWorkbook.Close(SaveChanges=1)
    except:
        raise
        print "Error Occurred writing data"
        xl.ActiveWorkbook.Close(SaveChanges=1)
    #Close the workbook
    xl.Quit
    del xl


Any suggestions as to what exactly I am doing wrong?

Eric B. Powell
E&GIS
BSRI
(803)952-7783

When a true genius appears in this world you may know him by this sign, that the dunces are all in confederacy against him. (Swift)
_______________________________________________
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to