Exemple #1
0
def copy2(wb):
    w = XLWTWriter()
    process(
        XLRDReader(wb,'unknown.xls'),
        w
        )
    return w.output[0][1], w.style_list
Exemple #2
0
def getStyle1(workbook, sheet, t1, t2):
    w = XLWTWriter()
    process(XLRDReader(workbook, 'unknown.xls'), w)
    s = w.style_list
    xl_sheet1 = workbook.sheet_by_name(sheet)

    styles = s[xl_sheet1.cell_xf_index(t1, t2)]
    return styles
Exemple #3
0
 def OpenExcel(self, sPath):
     self.__rd = xlrd.open_workbook(sPath, formatting_info=True);
     w = XLWTWriter();
     process(XLRDReader(self.__rd, 'unknown.xls'), w);
     self.__wt = w.output[0][1];
     self.__style_list = w.style_list;
     self.__path=sPath;
     return self;
Exemple #4
0
    def _copy2(self, wb):
        '''
        附带样式的copy
        xlrd打开文件,必须加参数formatting_info=True
        '''

        w = XLWTWriter()
        process(XLRDReader(wb, 'unknown.xls'), w)
        return w.output[0][1], w.style_list
Exemple #5
0
def copy(wb):
    """
    Copy an :class:`xlrd.Book` into an :class:`xlwt.Workbook` preserving as much
    information from the source object as possible.

    See the :doc:`copy` documentation for an example.
    """
    w = XLWTWriter()
    process(XLRDReader(wb, 'unknown.xls'), w)
    return w.output[0][1]
Exemple #6
0
 def open_workbook(self, filename):
     wb = xlrd.open_workbook(filename,
                             formatting_info=True,
                             on_demand=True,
                             encoding_override='utf-8')
     w = XLWTWriter()
     process(XLRDReader(wb, "unknown.xls"), w)
     self.in_book = wb
     self.out_book = w.output[0][1]
     self.style_list = w.style_list
     return self
Exemple #7
0
def create_input_file2():
    wtbook = XLWTWriter()
    wtsheet = wtbook.add_sheet(u'First')
    colours = 'white black red green blue pink turquoise yellow'.split()
    fancy_styles = [xlwt.easyxf(
        'font: name Times New Roman, italic on;'
        'pattern: pattern solid, fore_colour %s;'
         % colour) for colour in colours]
    for rowx in xrange(8):
        wtsheet.write(rowx, 0, rowx)
        wtsheet.write(rowx, 1, colours[rowx], fancy_styles[rowx])
    wtbook.save(u'C:/D4/test_folder/Mẫu BBBG 2018_nana.xls')  
Exemple #8
0
    def __init__(self, ffile, *args, **kwargs):
        """
        """

        self.workbook = xlrd.open_workbook(ffile.file, formatting_info=True)

        self.xlwt_writer = XLWTWriter()
        self.xlwt_writer.start()
        self.xlwt_writer.workbook(self.workbook, '%s.xls' % uuid4())

        self.sheets = self._sheet_list()

        if self.sheets:
            pass
            # self.init_active_sheet()
        else:
            raise SheetNotFoundException('Sheets not found')

        for k, v in kwargs.items():
            setattr(self, k, v)
Exemple #9
0
def new_xls_with_template_style(filename):
    """
    使用某xls文件内的格式创建新的单元格
    :param filename:
    :return:
    """
    rb = xlrd.open_workbook(filename, formatting_info=True)
    rs = rb.sheet_by_index(0)

    # 获取要从模板文件中获得的样式
    writer = XLWTWriter()
    process(XLRDReader(rb, 'nothing.xls'),
            writer)  # 'noting.xls'为任意命名,实际不会产生影响
    title_style = writer.style_list[rs.cell_xf_index(0, 0)]  # 第一行一列单元格格式
    content_style = writer.style_list[rs.cell_xf_index(1, 0)]  # 第二行一列单元格格式
    content_style.num_format_str = 'YYYY/MM/DD'  # 防止日期格式丢失,特意设置格式

    new_b = copy(rb)
    new_s = new_b.get_sheet(0)

    nrows = 10
    ncols = 12
    for row_index in range(nrows):
        style = content_style
        cell_index = datetime.date.today()
        if row_index == 0:
            style = title_style
            cell_index = '标题'
        for col_index in range(ncols):
            if isinstance(cell_index, str):
                new_s.write(row_index, col_index, cell_index, style)
            else:
                new_s.write(row_index, col_index,
                            cell_index + datetime.timedelta(days=1), style)
    new_file = os.path.join(os.path.dirname(filename),
                            'from_template_style.xls')
    new_b.save(new_file)
Exemple #10
0
def copy2(rb):
    wf = XLWTWriter()
    process(XLRDReader(rb, 'foo.xls'), wf)
    return wf.output[0][0], wf.style_list
Exemple #11
0
 def __copy_style(wb):
     w = XLWTWriter()
     process(XLRDReader(wb, 'unknown.xls'), w)
     return w.style_list
Exemple #12
0
import xlrd
from xlutils.filter import process, XLRDReader, XLWTWriter
 
rb = xlrd.open_workbook('test.xls', formatting_info=True)
table = rb.sheets()[0]
print(table.cell(9,2))
# 参考xlutils.copy库内的用法 参考xlutils.filter内的参数定义style_list
w = XLWTWriter()

process(XLRDReader(rb, 'unknown.xls'), w)
wb = w.output[0][1]
style_list = w.style_list

for n, sheet in enumerate(rb.sheets()):
    print('n:'+str(n));
    print('sheet:'+str(sheet));
    sheet2 = wb.get_sheet(n)
    for r in range(sheet.nrows):
        for c, cell in enumerate(sheet.row_values(r)):
            style = style_list[sheet.cell_xf_index(r, c)]
            if table.cell(r,c) == 66:
                sheet2.write(r, c, 'no problem sir', style)
wb.save('save.xls')
print("done")