15

編集する .xlsx ファイルがあり、openpyxlでExcel 2007 ファイルを操作できることがわかりました。一部のセルの値のみを変更し、他の設定は変更しないでおきたいです。

しかし、ドキュメントを読んだ後、既存のファイルを編集する例が見つかりません。.xlsx ファイルの読み取りと新しいファイルへの書き込みのみをデモしました。

以下の方法で既存のファイルを編集しようとしましたが、保存した後、ファイル内のスタイル (フォント、色など) が削除されました。

from openpyxl.reader.excel import load_workbook
wb=load_workbook(r'd:\foo1.xlsx')
ws=wb.get_sheet_by_name('Bar')
ws.cell('A1').value= 'new_value'
# save the workbook to a new file to finish the editing
# but the style settings has been removed (such like font, color) in the new file
wb.save(r'd:\foo2.xlsx')
4

2 に答える 2

18

現在、openpyxlはスタイルを十分に処理できないため、pywin32 COMを使用してみて、解決策を見つけました。これは、Excel用のpywin32COMを使用するための優れたpython-excel-mini-cookbookです。

于 2011-07-22T03:13:57.167 に答える
1

スタイルは、openpyxl ではまだ完全にはサポートされていません。最近スタイル機能が改善されたため、最新バージョン(現時点では 1.5.3)を使用していることを確認してください。

xlwt には、.xls ファイルのより完全な書式設定がありますが、まだ xlsx をサポートしていません。

于 2011-07-21T08:35:44.420 に答える