示例#1
0
    def _get_header_styles(self):
        s1 = XFStyle()
        al = Alignment()
        al.horz = Alignment.HORZ_CENTER
        s1.alignment = al

        s2 = XFStyle()
        borders = Borders()
        borders.bottom = 2
        s2.borders = borders

        return s1, s2
示例#2
0
    def _get_header_style(self):
        # s1 = self._style_factory()
        al = Alignment()
        al.horz = Alignment.HORZ_CENTER
        # s1.alignment = al

        s2 = self._style_factory()
        borders = Borders()
        borders.bottom = 2
        s2.borders = borders
        s2.alignment = al

        return s2
示例#3
0
    def add_ideogram_table(self, analyses,
                           widths=None,
#                           configure_table=True,
                           add_title=False, add_header=False, tablenum=1, **kw):

        sh = self._wb.add_sheet(analyses[0].labnumber)
#                                'sheet{:02n}'.format(self._sheet_count))
        self._sheet_count += 1

        cols = ['Status', 'N', 'Power', 'Moles_40Ar',
                'Ar40', 'Ar40Er',
                'Ar39', 'Ar39Er',
                'Ar38', 'Ar38Er',
                'Ar37', 'Ar37Er',
                'Ar36', 'Ar36Er',
                'Blank',
                'Ar40', 'Ar40Er',
                'Ar39', 'Ar39Er',
                'Ar38', 'Ar38Er',
                'Ar37', 'Ar37Er',
                'Ar36', 'Ar36Er'
                ]
        # write header row
        hrow = 0
        borders = Borders()
        borders.bottom = 2
        style = XFStyle()
        style.borders = borders
        for i, ci in enumerate(cols):
            sh.write(hrow, i, ci, style=style)

        numstyle = XFStyle()
        numstyle.num_format_str = '0.00'
        from operator import attrgetter
        def getnominal_value(attr):
            def get(x):
                v = getattr(x, attr)
                return float(v.nominal_value)
            return get

        def getstd_dev(attr):
            def get(x):
                v = getattr(x, attr)
                return float(v.std_dev)
            return get

        def getfloat(attr):
            def get(x):
                v = getattr(x, attr)
                return float(v)

            return get

        def null_value():
            return lambda x: ''
        attrs = [(attrgetter('step'),),
                 (getfloat('extract_value'),),
                 (null_value(),),
                 (getnominal_value('Ar40'),),
                 (getstd_dev('Ar40'),),
                 (getnominal_value('Ar39'),),
                 (getstd_dev('Ar39'),),
                 (getnominal_value('Ar38'),),
                 (getstd_dev('Ar38'),),
                 (getnominal_value('Ar37'),),
                 (getstd_dev('Ar37'),),
                 (getnominal_value('Ar36'),),
                 (getstd_dev('Ar36'),),
                 (null_value(),),
                 (getnominal_value('Ar40_blank'),),
                 (getstd_dev('Ar40_blank'),),
                 (getnominal_value('Ar39_blank'),),
                 (getstd_dev('Ar39_blank'),),
                 (getnominal_value('Ar38_blank'),),
                 (getstd_dev('Ar38_blank'),),
                 (getnominal_value('Ar37_blank'),),
                 (getstd_dev('Ar37_blank'),),
                 (getnominal_value('Ar36_blank'),),
                 (getstd_dev('Ar36_blank'),),

                 ]

        for i, ai in enumerate(analyses):
            for j, arg in enumerate(attrs):
                if len(arg) == 2:
                    func, style = arg
                else:
                    func, style = arg[0], Style.default_style
                sh.write(i + hrow + 1, 1 + j, func(ai),
                         style
                         )
示例#4
0
# -*- coding: utf-8 -*-
from xlwt.Formatting import Borders, Font, Alignment, Pattern
from xlwt.Style import XFStyle
from xlwt.Workbook import Workbook

wb = Workbook('utf-8')
sheet = wb.add_sheet('测试报告')
title = ['编号', '姓名', '职业', '上级', '入职日期']

title_style = XFStyle()
border = Borders()
border.left = border.THIN
border.right = border.THIN
border.top = border.THIN
border.bottom = border.THIN

font = Font()
font.bold = True

alignment = Alignment()
alignment.horz = alignment.HORZ_CENTER

pattern = Pattern()
pattern.pattern = pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 0x35

title_style.borders = border
title_style.font = font
title_style.alignment = alignment
title_style.pattern = pattern