[CData Excel] Créer un fichier/une feuille Excel : Ouroboros
Bonjour,
Comme j'ai eu accès aux CData avec ma version Entreprise, je me suis penché sur la connexion Firedac/Excel. Mes premiers essais, sur un tableau existant sont concluants aussi me suis-je lancé sur une question : est-il possible de créer un tableau Excel directement ?
Selon la doc, créer une nouvelle feuille permet de créer le tableau grâce à la procédure CData.Excel.CreateWorksheet du moins est-ce le cas avec ODBC, toujours dans la doc cette fois il est possible d'utiliser FDStoredProc pour créer les feuilles
Là où cela devient dingue c'est que pour exécuter une procédure stockée il faut se connecter à un tableau donc, je tourne en rond pour créer une nouvelle feuille dans un nouveau tableau je dois d'abord me connecter à un tableau existant :cfou: c'est quand même dommage !
en gros voilà mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
procedure TMainForm.Button1Click(Sender: TObject);
begin
if Opendialog1.Execute then
begin
Edit1.Text:=Opendialog1.FileName;
with FDConnection1.Params as TFDPhysCDataExcelConnectionDefParams do begin
if not FileExists(OpenDialog1.FileName)
then ExcelFile:='D:\Common Files\test.xlsx'
else ExcelFile:=OpenDialog1.FileName;
end;
try
FDStoredProc1.ParamByName('file').asString:=OpenDialog1.FileName;
FDStoredProc1.ParamByName('sheet').asString:='un essai';
FDStoredProc1.ParamByName('columnnames').asString:='col1,col2,col3';
FDStoredProc1.ExecProc;
except
// gestion d'erreurs (i.e. feuille déjà existante)
end
FDConnection1.Connected:=False;
with FDConnection1.Params as TFDPhysCDataExcelConnectionDefParams do
ExcelFile:=OpenDialog1.FileName;
end;
FDConnection1.Connected:=True;
// suite des opérations
end; |
une idée pour éviter d'avoir un premier tableau "bidon mais nécessaire" ?