def copy2(wb): w = XLWTWriter() process( XLRDReader(wb,'unknown.xls'), w ) return w.output[0][1], w.style_list
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
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;
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
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]
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
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')
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)
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)
def copy2(rb): wf = XLWTWriter() process(XLRDReader(rb, 'foo.xls'), wf) return wf.output[0][0], wf.style_list
def __copy_style(wb): w = XLWTWriter() process(XLRDReader(wb, 'unknown.xls'), w) return w.style_list
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")