예제 #1
0
파일: calendar.py 프로젝트: p0123n/xlrep
def draw():
    report = Report("A calendar-like report")     # Create report object
    rs = report.rows
    cs = report.cols

    report.cols_width = 1600

    # Create row headers (calendar)
    for week in weekgen(datetime.now() - timedelta(days=30), datetime.now()):
        wes = rs.add_section()
        for day in week:
            if day.weekday() in (5,6):
                style = cell_style_weekend
            else:
                style = cell_style
            wes.add_field(day.strftime("%b %d"), style=style)
        wes.add_calc('Week %s' % weeknum(week[0]), func=sum, style=row_header_style)
    rs.add_calc('Total', func=sum, style=total_style)


    # Create column headers (just one calc field that computes average)
    cs.add_calc('Average', func=lambda x: 1.0*sum(x)/len(x), style=total_style)

    # Generate random data
    data = [[randrange(100) for i in range(5)] for j in range(30)]

    book = Workbook()
    ws = book.add_sheet('Worksheet')
    report.render(ws, data)             # Render report
    book.save(report_name)              # Save report
예제 #2
0
파일: quadric.py 프로젝트: p0123n/xlrep
report_name = "quadric.xls"
rep = Report("Quadric report")  # Create report object

cs = rep.cols  # Create alias for column and row sections
rs = rep.rows

for i in range(3):  # Create row sections
    ccs = cs.add_section("col %d" % i)
    for j in range(3):
        ccs.add_field("%d" % j, header_style=header_style)
    ccs.add_calc("", func=sum, style=calc_style)
cs.add_calc("grand total", func=sum, style=total_style)

for i in range(3):  # Create column sections
    rrs = rs.add_section("row %d" % i)
    for j in range(3):
        rrs.add_field("%d" % j, header_style=header_style)
    rrs.add_calc("", func=sum, style=calc_style)
rs.add_calc("grand total", func=sum, style=total_style)

rep.cols_width = 1200

data = [[randrange(10) for j in range(9)] for i in range(9)]  # Generate data

book = Workbook()  # xlwt part: create Workbook and Worksheet
ws = book.add_sheet("Worksheet")
rep.render(ws, data)  # Render report
book.save(report_name)  # Save report

print "Report has been constructed:", report_name