Pracuję nad aplikacją, która pozwala użytkownikowi dynamicznie dodawać i usuwać elementy z pliku programu Excel. Ilość przedmiotów jest nieograniczona.Dynamicznie dodawaj elementy z pliku do ComboBox
Szukam sposobu na pobranie elementów z pliku Excel i przesłanie ich do ComboBox.
Aby być bardziej zrozumiałym: Problem nie polega na iteracji przez komórki, ale na przechwyceniu wartości komórek w ComboBox. Potrzebuję metody przechwytującej zawartość wszystkich komórek z wartościami w danej kolumnie, gdzie koniec zakresu jest nieznany, a następnie przeniesienie wartości do ComboBox.
Funkcja Combobox akceptuje tylko wartości, a nie puste komórki. Nie chcę również pól w ComboBox, które mówią "Brak wartości".
Próbowałem sprawdzać przez komórki i metody zasięgu, ale to nie dostanie wartości do ComboBox.
Co mam tak daleko jest:
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)
To działa zgodnie z oczekiwaniami, ale to, co martwi mnie to, że muszę dodać linię kodu dla każdego elementu łapię z pliku Excel, oprócz konieczności umieść dodatkowy wpis na liście stock_items. Jeśli w pliku znajdowało się 5000 pozycji, wynikowałby 5000 linii kodu i 5000 wpisów na liście.
Czy istnieje skuteczniejszy i bardziej elegancki sposób na rozwiązanie problemu z "licznikiem" lub pandami?
Z góry dziękuję.
dziękuję, ale nie działa .... Żadna metoda UsedRange ani podobne w openpyxl – rainer
prawdopodobnie nie dostałem tego ze strony Excela .. Nie jestem pewien, czy to działa ... – rainer