Comment créer/enregistrer un tableau de données en tant que nouvelle feuille de calcul dans Excel ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je n'arrive pas à comprendre comment enregistrer un tableau de données en tant que nouvelle feuille de calcul dans un fichier Excel.
Je peux créer le fichier Excel s'il n'existe pas, mais je n'arrive pas à créer une feuille de calcul à l'intérieur.
Voici ce que j'ai (désolé si c'est un peu bâclé) :
CheminFichierExcel = "C:\Temp\" ;
NomFichierExcel = "WO" || "276" || "Résumé.xls" ;
Chemin = "" || CheminFichierExcel || "" || NomFichierExcel || "" ;
Partie actuelle = "Nouvel onglet" ;
Essayer (
dtFichierExistant = Ouvrir ( "" || Chemin || "" ) ;
Fermer ( dtFichierExistant , pas de sauvegarde ) ,
dtNouveauFichier = Nouveau tableau () ;
: Colonne 1 << Définir le nom ( "Comptoir" ) ;
dtNouveauFichier << Ajouter des lignes ( 1 ) ;
: Comptoir [ 1 ] = "Cibles" ;
Fermer ( dtNouveauFichier , sauvegarder ( "" || Chemin || "" )) ,
) ;
dtVieux = Nouveau tableau () ;
: Colonne 1 << Définir le nom ( "Comptoir" ) ;
dtVieux << Nouvelle colonne ( "Exécuter la plaquette" ) ;
dtVieux << Ajouter des lignes ( 1 ) ;
: Comptoir [ 1 ] = "Cible" ;
ExcPréf = Carboniser ( Arg ( Analyser ( ( Carboniser ( Obtenir les préférences ( Sélection Excel ) )) ) , 1 ) ) ;
Définir les préférences ( Sélection Excel ( 0 ) ) ;
dtVieux << Enregistrer la base de données ( "DSN=Fichiers Excel ;DBC=" || chemin || ";Répertoire par défaut=" || CheminFichierExcel || ";IDPilote =
1046;MaxBufferSize=2048;PageTimeout=5;" , Partie actuelle ) ;
Fermer ( dtVieux , pas de sauvegarde ) ;
Définir les préférences ( Sélection Excel ( ExcPréf ) ) ;
J'ai parcouru quelques informations ici mais lorsque je l'exécute, j'obtiens :
[Microsoft][Pilote ODBC Excel] Le moteur de base de données Microsoft Access ne peut pas ouvrir ou écrire dans le fichier « (inconnu) ». Il est déjà ouvert exclusivement par un autre utilisateur, ou vous avez besoin d'une autorisation pour afficher et écrire ses données.
...dans le journal.J'ai vérifié deux fois et il n'y a aucun problème d'autorisation avec le répertoire du fichier.Quelqu'un peut-il donner des conseils ?
Re : Comment créer/enregistrer un tableau de données en tant que nouvelle feuille de calcul dans Excel ?Si je me souviens bien, ma tentative était en partie motivée par ce lien :
[RESOLU] Sortie de tableaux JMP vers des feuilles de calcul Excel
Michael
Re : Comment créer/enregistrer un tableau de données en tant que nouvelle feuille de calcul dans Excel ?Ok, je vais essayer ça, mais je ne pourrai le faire que la semaine prochaine, je répondrai ici lundi.
Merci
Re : Comment créer/enregistrer un tableau de données en tant que nouvelle feuille de calcul dans Excel ?Je ne sais pas si cela va aider mais en 2011 sous JMP 9, j'ai écrit ce fragment pour tester la création de nouvelles feuilles dans un fichier Excel.Malheureusement
1. Je ne me souviens pas si cela a fonctionné ! (je pense que c'est le cas)
2. Je ne peux pas le tester car JMP 64 bits est installé mais mes pilotes MS ODBC sont en 32 bits.
Quelque chose comme la ligne commentée peut être nécessaire pour mettre à jour une feuille existante, mais je pense que je voulais juste voir si je pouvais me débarrasser d'une feuille par défaut.
connexion =
"DSN=Fichiers Excel;DBQ=C:\Try\Demoxlsql.xlsx;DefaultDir=C:\Try;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;";
dt = Ouvrir la base de données (connectdlg, "SELECT * FROM `Sheet1$`" );
//ouvrir la base de données(connectdlg, "drop table Sheet1$");
dt << sauvegarder la base de données (connectdlg, "NewSheet" );
Re : Comment créer/enregistrer un tableau de données en tant que nouvelle feuille de calcul dans Excel ?Merci,
Désolé, je n'ai pas mieux expliqué, il s'agit d'une version tronquée de mon script pour tester (affiner ?), la version complète trouve une liste de numéros de pièce et j'aimerais qu'elle parcoure la création d'onglets nommés de la même manière que le numéro de pièce dans le fichier excel.
Mon code exact de la confirmation DSN est :
Ouvrir la base de données (
DSN=Fichiers Excel;DBQ=C:\Temp\RunList.xlsx;DefaultDir=C:\Temp;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;" ,
"SELECT * FROM `Test$`" ,
"Tester$"
)
Tout me semble bien là-bas.Je vais probablement concéder et simplement générer des documents Excel séparés pour chaque partie, mais j'ai pensé qu'il me manquait peut-être quelque chose de simple pour le créer/enregistrer en tant que nouvel onglet.
Re : Comment créer/enregistrer un tableau de données en tant que nouvelle feuille de calcul dans Excel ?Il semble qu'il serait plus simple de simplement enregistrer le fichier directement dans Excel.Je le sauvegarderais également au format .xlsx - des fichiers plus petits.
CheminFichierExcel = "C:\Temp\" ;
NomFichierExcel = "WO" || "276" || "Résumé.xlsx" ;
chemin du fichier = CheminFichierExcel || NomFichierExcel ;
Partie actuelle = "Nouvel onglet" ;
dtVieux = Nouveau tableau () ;
: Colonne 1 << Définir le nom ( "Comptoir" ) ;
dtVieux << Nouvelle colonne ( "Exécuter la plaquette" ) ;
dtVieux << Ajouter des lignes ( 1 ) ;
: Comptoir [ 1 ] = "Cible" ;
dit << sauvegarder ( chemin du fichier ) ;
Lorsque j'exécute votre code, j'obtiens une incompatibilité d'architecture avec mon pilote Excel ODBC.Il doit y avoir un problème sur mon PC.
Quoi qu'il en soit, si vous devez utiliser le pilote Excel ODBC, modifiez Chemin à autre chose, comme chemin du fichier .Chemin est une fonction JSL.
Votre chaîne DSN est-elle correcte ?Pour vérifier cela :
Cliquez sur Fichier > Base de données > Ouvrir la table.Sélectionnez Sources de données machine et cliquez sur Fichiers Excel.Recherchez un fichier Excel et ouvrez-le.Dans l'ensemble de données, cliquez sur Source > Modifier.Copiez la chaîne DSN de la source.