2009-11-23 14 views
0

Cela fonctionne: -lire le fichier XLS par script batch

for /F "tokens=4 delims= skip=1" %%x in (myfile.txt) DO echo %%x 

Mais pas: -

for /F "tokens=4 delims= skip=1" %%x in (myfile.xls) DO echo %%x 

Comment puis-je lire xls sans convertir à l'onglet saperated?

XLS = fichier Excel

+0

Le titre de votre question est mal ... vous parlez de XML ou XLS? –

Répondre

0

Que vous parlez au format .xls binaire ou XML, l'analyse syntaxique dans un fichier batch de Windows va essentiellement être peu pratique. Vous devriez utiliser un outil plus approprié. La chose la plus proche d'un fichier de commandes Windows qui sera en mesure de faire face à cela est probablement PowerShell.

Les fichiers batch sont acceptables pour les tâches assez simples, mais lorsque vous devez faire quelque chose avec un peu plus de complexité, vous devriez chercher à utiliser quelque chose de plus puissant. (Je ne suis pas particulièrement friand de fichiers batch Windows en premier lieu par rapport aux scripts bash, par exemple, mais parfois, ils sont le moyen le plus facile de faire les choses.)

+0

et aussi vbscript – ghostdog74

1

si vous voulez le faire avec batch, Pour quelque raison que ce soit, vous pouvez exporter et enregistrer votre fichier xls dans une virgule séparée (csv), puis utiliser delim =, dans votre lot pour la boucle.

0

Si vous avez installé Excel, vous pouvez facilement créer un script vbscript ou PowerShell pour la tâche. L'interpréteur de commandes Windows n'est vraiment pas à la hauteur de l'analyse des fichiers Excel.

VBScript:

Set objExcel = CreateObject("Excel.Application") 

PowerShell:

a = New-Object -comobject Excel.Application 
Questions connexes