/python_easy_excel

Primary LanguagePythonMIT LicenseMIT

pip install easy_excel, xlwt

###Example easy

import os
from easy_excel import Column, Sheet, Excel


class A:
    def __init__(self, a='Nothing', b='Hello my friend', c=43):
        self.a, self.b, self.c = a, b, c


excel_example = Excel()
columns = [
    Column('a', lambda x: x.b, width=5000),
    Column('b', lambda x: x.b, width=6000),
    Column('Thi is C', lambda x: x.c)
]
sheet = Sheet('New sheet', columns=columns, objects=[A(), A(b='54'), A('Hi', 'example')])
excel_example.add_sheet(sheet)

base_dir = os.path.dirname(os.path.abspath(__file__))
excel_example.save(file_name='example1', dir=base_dir + '/excel/')

###Example inheritance import os from easy_excel import Column, Sheet, Excel

class CustomTemplateSheet(Sheet):
    title = 'Example title sheet'
    name = 'Example name sheet'
    columns = [
        Column('first', lambda x: x['first']),
        Column('this is second', lambda x: x['second'], width=15000),
    ]

excel = Excel()
objects = [
    {'first': "I'm first", 'second': 'Hi'},
    {'first': '1', 'second': 2},
    {'first': 'and me', 'second': 'and you'},
    {'first': 'and me', 'second': 'and you'},
    {'first': 'and me', 'second': 'and you'},
    {'first': 'and me', 'second': 'and you'},
    {'first': 'and me', 'second': 'and you'},
    {'first': 'and me', 'second': 'and you'},
]
sheet1 = CustomTemplateSheet(objects=objects)
sheet2 = CustomTemplateSheet(
    name='Im second sheet', title='Im for first object', object=objects[0]
)

excel.add_sheet(sheet1)
excel.add_sheet(sheet2)

base_dir = os.path.dirname(os.path.abspath(__file__))
excel.save(file_name='example2', dir=base_dir + '/excel/')