2017-01-21 4 views
1

を使用してファイルをエクセル既存のシートを追加し、私はxlutils.copyを使用してシートを追加するために、この記事を見た:がopenpyxl

https://stackoverflow.com/a/38086916/2910740

はopenpyxlを使用する任意の解決策はありますか?

+0

あなたは何をしたいのですか? –

+0

私は複数のシートを含むExcelファイルを持っています。そのファイルの最後に新しいシートを追加し、そこにデータを挿入したいと思います。 –

+0

あなたはopenpyxlのドキュメントを読むだけでいいと思います。 –

答えて

-1

データをCSVファイルに格納することをお勧めします.CSVファイルは、特に表形式のデータを格納するために作られたユビキタスファイル形式です。 Excelは、ほとんどのオープンソースのExcel形式のプログラムと同様に、完全にサポートしています。

end_of_sheet = your_sheet.max_row 

行数を返します。

with open("output.csv", "a") as csvfile: 
    wr = csv.writer(csvfile, dialect='excel') 
    wr.writerow(YOUR_LIST) 

をOpenpyxlについて:その場合は

は、それはそれに追加するのではなく、書き込みや読み取りに開くファイルを同じくらい簡単ですあなたのシートは、それ以降のポジションに書き始めることができるようになっています。

+0

ありがとうございますが、データをExcelに保存する必要があります。新しいデータを新しいシートに追加する必要もあります。 –

0

解決策が見つかりました。非常に簡単でした:

def store_excel(self, file_name, sheet_name): 
    if os.path.isfile(file_name): 
     self.workbook = load_workbook(filename = file_name) 
     self.worksheet = self.workbook.create_sheet(sheet_name) 
    else: 
     self.workbook = Workbook() 
     self.worksheet = self.workbook.active 
     self.worksheet.title = time.strftime(sheet_name) 
    . 
    . 
    . 
    self.worksheet.cell(row=row_num, column=col_num).value = data