Convertir plusieurs xls csv à l'aide de powershell
Je suis en train de convertir plusieurs fichiers excel (xls) au format csv, qui est situé dans un dossier à l'aide de powershell.
Je peux convertir un fichier unique, mais besoin d'aide pour la conversion de plusieurs fichiers dans un dossier.
Mais besoin de conseils sur la façon de convertir plusieurs fichiers.
$ExcelWB = new-object -comobject excel.application
$Workbook = $ExcelWB.Workbooks.Open(c:\temp\temp.xls)
$Workbook.SaveAs("c:\temp\temp.csv",6)
$Workbook.Close($false)
$ExcelWB.quit()
- Vous devez partager votre code, comment voulez-vous convertir 1 fichier?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement envelopper dans une boucle qui itère sur tous les fichiers et modifier le
xls
extension decsv
:Il y a des bémols à ce code non testé mais cela devrait envelopper votre tête autour de votre question
Prendre les lignes entre le premier et le dernier, et de construire une boucle. Utilisation
Get-ChildItem
pour récupérer vos fichiers xls et ensuite créer un nouveau nom en remplaçant l'extension si leFullName
du fichierLa conversion de fichiers xlsx csv qui peut être fait beaucoup plus rapidement et sans Objets COM - donc, sans Excel installé à l'aide de la ImportExcel module développé par Doug Finke:
Ou dans l'autre sens:
Paramètres disponibles pour la Import-Excel applet de commande:
WorksheetName
Spécifie le nom de la feuille de calcul dans le classeur Excel à importer. Par défaut, si aucun nom n'est fourni, la première feuille de calcul à importer.
DataOnly
Importer uniquement les lignes et les colonnes contenant des données, des vides, des lignes et des colonnes vides ne sont pas importés.
HeaderName
Spécifie une propriété personnalisée de noms à utiliser, à la place des valeurs définies dans les en-têtes de colonne de la Lignesupérieure.
NoHeader
Générer automatiquement des noms de propriété (P1, P2, P3, ..) au lieu de ceux définis dans les en-têtes de colonne de la Lignesupérieure.
StartRow
La ligne d'où nous partons pour importer des données, toutes les lignes au-dessus de la StartRow sont pas pris en compte. Par défaut, c'est la première ligne.
Endrow sur
Par défaut, toutes les lignes jusqu'à la dernière cellule de la feuille seront importés. Si ce paramètre est spécifié, l'importation s'arrête à cette ligne.
StartColumn
Le numéro de la première colonne de lire des données à partir de (1 par défaut).
EndColumn
Par défaut, l'importation lit jusqu'à la dernière peuplé de colonne, -EndColumn raconte l'importation d'arrêter au plus tôt d'un nombre.
Mot de passe
Accepte une chaîne de caractères qui sera utilisée pour ouvrir un mot de passe protégé fichier Excel.