Je travaille sur un workflow où je dois pouvoir convertir par lots des fichiers CSV en fichiers DBF. Les données contenues dans les fichiers CSV peuvent toutes être affichées en tant que champs TEXT, puis enregistrées en tant que DBF. J'ai essayé d'obtenir n'importe quelle sortie possible en utilisant la ligne de commande à la fois dans Mac OS et Windows 7. Bien que j'ai eu un peu plus de succès dans Windows, je n'ai pas pu obtenir de conversion.Ligne de commande LibreOffice Convertir CSV en DBF
"C:\Program Files (x86)\LibreOffice 5\program\scalc.exe" --convert-to dbf --
infilter="csv:44,34,76,1,1/2/2/2/3/2/4/2/5/2/6/2/7/2/8/2/9/2/10/2/11/2/12/2/13/2/14/2/15/2/16/2/17/2/18/2/19/2/20/2/21/2/22/2/23/2/24/2/25/2/26/2/27/2/28/2/29/2/30/2/31/2/32/2
/33/2/34/2/35/2/36/2/37/2/38/2/39/2/40/2/41/2/42/2/43/2/44/2/45/2/46/2/47/2/48/2/49/2/50/2/51/2/52/2/53/2/54/2/55/2/56/2/57/2/58/2/59/2/60/2/61/2/62/2/63/2/64/2/65/2/66/2/67/2
/68/2/69/2/70/2/71/2,0,false,false" C:\Users\jdavidson\Desktop\DBFCONVERT\*.csv --outdir C:\Users\jdavidson\desktop\complete
Donc, je devais avoir un --infilter sur la ligne de commande pour pouvoir effectuer la conversion, mais maintenant il ne fichier processus 1 et non fichier batch lorsque vous utilisez * .csv Alors, mon prochain l'obstacle est de surmonter cela.
Le ci-dessous permet d'expliquer plus en détail --infilters:
plus facile façon de trouver la séquence de filtres dont vous avez besoin est en suivant les étapes ci-dessous:
- ouvert le fichier CSV manuellement en utilisant LibreOffice et en spécifiant chaque détail dans l'Assistant d'importation
Exécutez la macro ci-dessous et il vous montrera les options de filtre dans une zone de saisie, ainsi vous peut copier la chaîne à votre propre code
Sous showFilterOptions args() Dim, i% args() = thisComponent.getArgs pour i = 0 à UBound (args()) si args (i). name = "FilterOptions" puis InputBox "", "", args (i) .value suivant End Sub
crédit code: https://forum.openoffice.org/en/forum/viewtopic.php?f=44&t=14018
Des messages d'erreur? Indiquez également quel terminal - bash, cmd.exe, powershell et cetera. –
Si une partie de cette question est la réponse, veuillez déplacer cette partie vers une réponse. Voir [Puis-je répondre à ma propre question] (https://stackoverflow.com/help/self-answer). Formatez également le code en ajoutant quatre espaces à l'avant. –