2017-08-01 38 views
0

一部の(またはすべての)セルを移動するためのスクリプトを作成したいと考えています。これは私のコードの考えですが、私は最後の行(右5個の細胞を移動するための一例)を実装する方法がわからない:私はそこに考え出し研究の長い日後openpyxlのセル範囲をプロパティ(ハイパーリンク、書式設定など)でどのように移動するのですか?

new_rows = [] 
for row in ws.rows: 
    new_rows.append((None,) * 5 + row) 
ws.rows = new_rows 
+0

セル範囲を移動するとはどういう意味ですか? –

+0

私はプログラム的に同じことを達成することを意味します。1.セルをカットします。2.(すべての属性を使用して)5列を右に貼り付けます。 – Artur

+0

bitbucket(https://bitbucket.org/snippets/openpyxl)/qyzKn)しかし、それは醜いだけでなく、列を操作するのではなく行です。 – Artur

答えて

0

コピーする簡単かつきれいな方法ではありませんすべての属性を持つセル範囲。範囲と各セルのコピー値とすべての属性を別々に反復処理する必要があります。単一セルをコピーするサンプル関数は、次のようになります。

ws.cell(row=to_row, column=to_col).value = ws.cell(row=from_row, column=from_col).value 
from_style = ws.cell(row=from_row, column=from_col)._style 
ws.cell(row=to_row, column=to_col)._style = from_style 
ws.cell(row=to_row, column=to_col).hyperlink = ws.cell(row=from_row, column=from_col).hyperlink 
ws.cell(row=to_row, column=to_col).number_format = ws.cell(row=from_row, column=from_col).number_format 
関連する問題