Image de travail
1, il y a des informations telles que la date de début / date de fin, les éléments de sélection dans le menu déroulant dans la plage de cellules définie par le nom dans Excel 2, la plage définie par le nom d'Excel est d'environ 2,3 lignes 3, lire une grande quantité de données telles que le traitement itératif pour chaque magasin de la feuille Mémo précédent 4, python utilise le module OpenPyxL 5, les données requises pour le grattage seront lues à partir d'Excel
Le nom d'Excel est "plage de noms de test" Le nom du fichier Excel est "Test.xlsx" Utilisez des noms au niveau du livre (afin qu'ils n'aient pas le même nom au niveau de la feuille)
Obtenez une plage de cellules avec le nom d'Excel
import openpyxl
wb=openpyxl.load_workbook('tester.xlsx')
my_range = wb.defined_names['Plage de noms de test']
dests = my_range.destinations
cells = []
for title, coord in dests: #Le nom de la feuille est repris dans le titre.
ws = wb[title]
cells.append(ws[coord])
C=[]
for row in cells:
for aa in row:
C.append([col.value for col in aa])
Puisque C est une liste de listes, la cellule supérieure gauche de la plage de noms Excel est Il peut être utilisé avec C [0] [0]. Cela convient lorsque la plage de noms est petite.
Si vous mettez une plage de cellules dans une variable de type Variant, vous pouvez l'utiliser comme C (1,1). Contrairement à python, il commence à 1. Excel ouvre souvent plusieurs fichiers en même temps et l'opération est gâchée. Il est plus sûr de spécifier par livre → feuille → nom.
Obtenez la définition du nom Excel
Dim C As Variant
'La feuille de menu a une plage de noms de test
C = ThisWorkbook.Sheets("menu").Range("Plage de noms de test")
Vous pouvez obtenir la valeur de la cellule supérieure gauche avec C (1, 1).
Si vous pouvez lire le nom d'Excel en détail, il sera plus facile d'opérer le grattage.
Recommended Posts