AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String Grid nach Excel kopieren

Ein Thema von Dumpfbacke · begonnen am 11. Okt 2009 · letzter Beitrag vom 11. Okt 2009
Antwort Antwort
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

String Grid nach Excel kopieren

  Alt 11. Okt 2009, 13:58
Hallo,
ich möchte die Daten eines String Grid nach Excel kopieren. Am liebsten wäre es mir wenn es mit STRG C im String Grid und STRG V in Excel gehen würde. Leider geht das nicht. Kann mir hier jemand helfen ?

Tanja
Tanja
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: String Grid nach Excel kopieren

  Alt 11. Okt 2009, 15:32
Hallo,

du kannst mal das probieren:

Delphi-Quellcode:
procedure Proc_Stringgrid_GridInhaltInZwischenablageKopieren(Grid:TStringgrid);
var arow,acol:integer;
    sl:Tstrings;
    s:string;
  begin
    sl:=TStringList.Create;
    try
    with Grid do
      begin
        for arow:=0 to RowCount-1 do
          begin
            s:='';
            for acol:=0 to ColCount-1 do
              begin
                if acol=ColCount-1 then
                  s:=s+cells[acol,arow]
                 else
                  s:=s+cells[acol,arow]+chr(vk_tab)
              end;
            sl.Add(s);
          end;
      end;
    Clipboard.SetTextBuf(pchar(sl.Text+#0));
    finally
      sl.Free;
    end;
  end;

procedure Proc_Stringgrid_GridInhaltAusZwischenablageEinfuegen(Grid:TStringgrid);
var arow,acol,i:integer;
    sl:Tstrings;
    s:string;
    arr:TSTringdynarray;
  begin
    sl:=TStringList.Create;

    try
    sl.text:=Clipboard.AsText;
    with Grid do
      begin
        rowcount:=sl.count+fixedrows;
        arow:=FixedRows;
        for i:=0 to sl.Count - 1 do
          begin
            rows[arow].clear;
            arr:=Func_Explode(chr(vk_tab),sl[i]);

            for acol:=0 to high(arr) do
              begin
                if acol<=colcount-1 then
                  cells[acol,arow]:=arr[acol];
              end;
            inc(arow);
          end;
      end;

    finally
      sl.Free;
    end;
  end;
- func_explode: such mal hier im Forum nach Hier im Forum suchenexplode
- aus der Zwischenablage: Colcount wird nicht gesetzt, das benötige ich nicht.
- Export ist alles mit fixedrows, import nur die "Daten".

Gruß Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz