私は、ユーザーがエクセルファイルに項目を動的に追加したり削除したりできるアプリケーションを開発中です。品目の数量は無制限とする。ファイルからコンボボックスにアイテムを動的に追加します
私は、Excelファイルからアイテムを取得してComboBoxに転送する方法を探しています。
明らかにするには:問題はセルを反復処理するのではなく、セル値をComboBoxに取り込むことです。私は、指定された列の値を持つすべてのセルの内容を取得し、範囲の終わりが分からないメソッドを必要とし、その値をComboBoxに転送します。
コンボボックスは、空のセルではなく値のみを受け入れます。私はまた、 "値なし"と言っているComboBoxのフィールドを望んでいません。
私はセルと範囲のメソッドを通してiteringを試みましたが、これはComboBoxに値を取得しません。
私がこれまで持っていることは次のとおりです。
wb = load_workbook (source_file)
ws = wb.active
self.value_1 = ws['B2'].value
self.value_2 = ws['B3'].value
self.value_3 = ws['B4'].value
self.value_4 = ws['B5'].value
self.value_5 = ws['B6'].value
self.value_6 = ws['B7'].value
self.value_7 = ws['B8'].value
self.value_8 = ws['B9'].value
self.value_9 = ws['B10'].value
self.value_10 = ws['B11'].value
stock_items = [ self.value_1 , self.value_2 , self.value_3 , self.value_4 , self.value_5 ,
self.value_6 , self.value_7 , self.value_8 , self.value_9 , self.value_10 ]
self.combo_items_list = [ ]
for stock_item in stock_items :
if stock_item != None :
self.combo_items_list.append (stock_item)
self.combo.addItems(self.combo_items_list)
これは期待通りに動作しますが、どのような私をトラブルは私がした以外にも、私はExcelファイルからつかむアイテムごとにコードの行を追加することが必要であることですstock_itemsリストに余分な項目を入れてください。ファイルに5.000の項目があると、5.000行のコードと5000の項目がリストに表示されます。
"カウンター"やパンダで問題を処理するためのより効率的でエレガントな方法はありますか?
ありがとうございます。
はあなたに感謝しますが、動作していない.... 。いいえメソッドUsedRange ou openpyxlで似ています – rainer
おそらくExcelのウェブサイトからこれを持っています..私はこれがどのように動作するのかわかりません。 – rainer