bonjour à tous,
Mise à part le datapump de delphi, existe-il un script qui permet d'exporter les données d'une stringgrid vers une table paradox ca m'evitera de taper du code. Je vous remercie.
bonjour à tous,
Mise à part le datapump de delphi, existe-il un script qui permet d'exporter les données d'une stringgrid vers une table paradox ca m'evitera de taper du code. Je vous remercie.
Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.
Lao Tseu - un sage chinois
Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.
Friedrich Nietzsche - Par délà le bien et le mal
Bonjour,
Je pense que tu dois le faire à la main. J'avais fais ce genre de chose il y a quelques années. Si tu me donnes un petit exemple de ton stringGrid de sa source (genre table mémoire) et de son contenu je peux regarder.
Merci pour ta réponse ALWEBER.
J'importe un fichier excel dans le stringgrid avec ce code :
Bon pour le stringgrid c'est un stringgrid. Il n'y a que des strings. Pour la table paradox elle contient une quarantaine de champ de type Integer, string date, boolean, etc... Voilà
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 function Xls_To_StringGrid(AGrid: TStringGrid; AXLSFile: string): Boolean; const xlCellTypeLastCell = $0000000B; var XLApp, Sheet: OLEVariant; RangeMatrix: Variant; x, y, k, r: Integer; begin Result := False; // Create Excel-OLE Object XLApp := CreateOleObject('Excel.Application'); try // Hide Excel XLApp.Visible := False; // Open the Workbook XLApp.Workbooks.Open(AXLSFile); // Sheet := XLApp.Workbooks[1].WorkSheets[1]; Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[1]; // In order to know the dimension of the WorkSheet, i.e the number of rows // and the number of columns, we activate the last non-empty cell of it Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate; // Get the value of the last row x := XLApp.ActiveCell.Row; // Get the value of the last column y := XLApp.ActiveCell.Column; // Set Stringgrid's row &col dimensions. AGrid.RowCount := x; AGrid.ColCount := y; // Assign the Variant associated with the WorkSheet to the Delphi Variant RangeMatrix := XLApp.Range['A1', XLApp.Cells.Item[X, Y]].Value; // Define the loop for filling in the TStringGrid k := 1; repeat for r := 1 to y do AGrid.Cells[(r - 1), (k - 1)] := RangeMatrix[K, R]; Inc(k, 1); AGrid.RowCount := k + 1; until k > x; // Unassign the Delphi Variant Matrix RangeMatrix := Unassigned; finally // Quit Excel if not VarIsEmpty(XLApp) then begin // XLApp.DisplayAlerts := False; XLApp.Quit; XLAPP := Unassigned; Sheet := Unassigned; Result := True; end; end; end;
Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.
Lao Tseu - un sage chinois
Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.
Friedrich Nietzsche - Par délà le bien et le mal
Dans un premier temps il est mieux de travailler avec un Dataset chargé depuis un csv que tu construit dynamiquement à partir de ta lecture du fichier XLSX
je ne sais pas dans quelle version de Delphi tu es.
Ci joint un premier exemple qui fonction avec Delphi XE7 et + qui montre les copie de jeu de données
Je suis dans D7
avec xml Je ne pense pas je m' y connais pas. Mais pour CVS bonne idée ca peut se faire
Merci ALWEBER et pour le fichier exemple aussi.
Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.
Lao Tseu - un sage chinois
Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.
Friedrich Nietzsche - Par délà le bien et le mal
Merci encore.
Je ne vais pas le faire tout de suite je suis entrain de préparer cela.
Une petite question si c'est possible. Je sais que tu as beaucoup travailler avec paradox et peut-être même avoir utiliser le datapump, alors si c'est la cas es-ce que le datapump d'excel vers pdx prend les types de données de la table de destination ?
Merci.
Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.
Lao Tseu - un sage chinois
Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.
Friedrich Nietzsche - Par délà le bien et le mal
Ok c'est bon j'ai pu importer 10 000 salariés avec ta méthode mais en utilisant le compos de la jvcl TJcvsDataSet. Alors je sujet est résolu
Merci ALWEBER.
Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.
Lao Tseu - un sage chinois
Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.
Friedrich Nietzsche - Par délà le bien et le mal
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager