2016-11-15 22 views
0

既存のExcelに大量のデータを書きたいと思っていました。私はリンクを参照し、書き込み機能を検証しました。 How to write to an existing excel file without breaking formulas with openpyxl? ただし、この機能は、セルフォーマットを上書きしました。たとえば、私のターゲットExcelにはすべてのシートのセル境界線があります。しかし、新しく書き込まれた行は空白の背景にあります(セルボーダーなし)。また、私はすでにいくつかのセルを '通貨'にフォーマットしましたが、openpyxl出力のExcelではすべてのセルが '一般的な'フォーマットになりました。セルフォーマットをpandas(engine = openpyxl)で上書きせずに既存のExcelファイルに書き込む方法は?

セルフォーマットを変更せずに既存のExcelファイルに書き込むにはどうすればよいですか?

ありがとうございます。

Original excel

With written contents

私が見つけた唯一の解決策を設定することであるエクセル

FinalGen.append(FinalGenRow1) 
    FinalGen.append(FinalGenRow1) 
    df = pd.DataFrame(FinalGen) 
    df.to_excel(writer,sheet_name='Test',startrow =3 ,startcol =0,index = False, header = False) 
+0

あなたのopenpyxlのバージョンは何ですか? [この質問と回答](http://stackoverflow.com/questions/40610166/fill-in-pd-data-frame-into-existing-excel-sheet-using-openpyxl-v2-3-2)を確認してください。 – MaxU

+0

これはopenpyxlで可能です。これまでのコードを表示してください。 –

+0

コードが追加されました。どんな助けもありがとう! –

答えて

0

に結果を書き込むことが

workbook = load_workbook(OutputFile,data_only=True) 
writer =pd.ExcelWriter(OutputFile,engine='openpyxl') 
writer.book = workbook 
writer.sheets = dict((ws.title, ws) for ws in workbook.worksheets) 

コードをExcelのApplication

を設定するためのコード列の代わりに各セルでセルをフォーマットします。詳細については、この記事を参照してください。 Preserve cell format with openpyxl

関連する問題