Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Batch] Créer et remplir un fichier Excel

25 janvier 2018 à 17:22:57

Hello,

question du soir, puisque Google semble la comprendre à l'envers et ne me renvoie que des pistes dans l'autre sens : est-il possible de créer un fichier .xlsx et de le remplir via un script Batch (La version d'origine, disponible sous W10 par défaut, pas Spring Batch ou autre. Je dois le faire tourner sous un serveur sous Windows..) ?

(Je n'arrive même pas à déterminer si Batch a des librairies, par défaut, et je vois mal réinventer la roue avec un langage qui ne me sert quasiment jamais..)

  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2018 à 19:18:23

Hello,

En batch pur, tu pourras juste faire un fichier .csv :

@echo off
echo Ligne 1 Colonne A;Ligne 1 Colonne B>test.csv
echo Ligne 2 Colonne A>>test.csv
exit


Si ton fichier doit forcément être un fichier excel .xlsx et que tu dois faire tourner le script sur un serveur windows, il faudrait sans doute se tourner du côté de Powershell (installé par défaut depuis Windows 7/Windows Server 2012 ; la librairie Export-XLSX semble être bien).

PS : Il n'y a pas de notions de librairie en batch, juste des scripts appelé (+ arguments) via la commande call.

  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2018 à 4:07:48

Mmh, passer par un fichier .csv rendrait inutile l'étape actuelle, j'essaie justement d'automatiser la chose.

Powershell est présent sur le serveur, je vais donc tester ça. Je laisse le sujet ouvert si quelqu'un a un autre workaround.

  • Partager sur Facebook
  • Partager sur Twitter
2 novembre 2022 à 17:55:21

Bonjour,

Merci Zaibai pour l'exemple.

J'ai créer un fichier batch qui "fabrique" des variables.

Grâce à l'exemple ci-dessus, j'ai réussi à les intégrer dans un fichier  csv

@echo off
echo %date%; %username%; %variable1%; %variable2%>test.csv
exit

Comment faire pour qu'à chaque utilisation de mon fichier batch, l'intégration dans mon fichier csv se fasse à la ligne des précédentes ?
(pour le moment, cela écrase tout)
Merci d'avance pour vos réponses.

-
Edité par Aderstache 2 novembre 2022 à 17:56:59

  • Partager sur Facebook
  • Partager sur Twitter
2 novembre 2022 à 21:49:11

Bonsoir Aderstache,

Tu réponds sur un vieux sujet :/

Mais vu que la réponse est rapide :

- echo toto>test.csv va écrire toto et créer/écraser le fichier test.csv
- echo toto>>test.csv va écrire toto à la suite du fichier s'il existe déjà, sinon il le créer.

  • Partager sur Facebook
  • Partager sur Twitter
2 novembre 2022 à 22:32:06

Bonsoir Zaibai,

Effectivement je ressort un vieux sujet.

Merci pour ta réponse, cela fonctionne parfaitement.

Je te souhaite une excellente soirée.

  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2024 à 20:50:32 - Message modéré pour le motif suivant : Merci de créer votre propre sujet


18 mars 2024 à 20:56:47

@konenamogo Bonsoir, merci de ne pas déterrer d'ancien sujet pour une nouvelle question, créer votre propre sujet dans les règles du forum. 

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Liens conseillés

Je ferme ici.

  • Partager sur Facebook
  • Partager sur Twitter