0

「xlsx」ではなく、古い「xls」ファイルを編集する機能に取り組んでいます。xlrd、xlutils、xlwt などのパッケージを使用しています。Bold や Center などの他のスタイルを変更せずに、セルの色を変更したい。色は、ユーザーの入力に基づくユーザー定義の RGB カラーです。

このようなコードを書いていますが、スタイル情報を "xlrd.formatting.XF" から "xlwt.Style.XFStyle" に転送する方法が見つかりません。したがって、私のコードはスタイル情報を失います。

reader_book = xlrd.open_workbook(self.filePath, formatting_info=True)
reader_sheet = reader_book.sheet_by_name(self.sheetName)
writer_book = copy(reader_book)
writer_sheet_index = [s.name for s in reader_book.sheets()].index(self.sheetName)
writer_sheet = writer_book.get_sheet(writer_sheet_index)
reader_cell = reader_sheet.cell(rowx=int(row_str)-1, colx=int(col_str)-1)
print("reader_cell.xf_index is", reader_cell.xf_index)
fmt = reader_book.xf_list[reader_cell.xf_index]
print("type(fmt) is", type(fmt))
print("fmt.dump():",  fmt.dump())
xlwt.add_palette_colour("custom_colour", 0x21)
writer_book.set_colour_RGB(0x21, 244, 0, 0)
style = xlwt.easyxf('pattern: pattern solid, fore_colour custom_colour')
print('style', type(style))
writer_sheet.write(int(row_str)-1, int(col_str)-1, reader_cell.value, style)
writer_book.save(self.filePath)

これを行う方法はありますか?または、これを行う他のパッケージはありますか?

どうもありがとう。

4

0 に答える 0