Avatar billede valmo Nybegynder
08. juni 2015 - 15:11 Der er 4 kommentarer

Overfør data fra stringgrid til Excel

Hej
Jeg har en stringgrid der består af 36 celler og et varierende antal rækker som jeg læser data ind i.

Jeg har denne procedure som overfører alle celler til et array og derefter over til excel, og det virker fint
{create variant array where we'll copy our data}
  arrData := VarArrayCreate([1,sgdata.RowCount, 1, sgdata.ColCount], varVariant);

  {fill array}
for i := 1 to sgdata.RowCount do
    for j := 1 to sgdata.ColCount do
  arrData[i, j] := sgdata.Cells[j-1, i-1];

{initialize an instance of Excel}
xls := CreateOLEObject('Excel.Application');

{create workbook}
wb := xls.Workbooks.Add;

{retrieve a range where data must be placed}
Range := wb.WorkSheets[1].Range[wb.WorkSheets[1].Cells[1, 1], wb.WorkSheets[1].Cells[sgdata.RowCount, sgdata.ColCount]];
{copy data from allocated variant array}
Range.Value := arrData;

{show Excel with our data}
xls.Visible := True;
end;
end;

Men jeg vil kun udlæst 10 af cellerne til excel, hvordan gør jeg det.
Avatar billede kroning Nybegynder
08. juni 2015 - 17:56 #1
Udskrifter RowCount med 10, vil jeg gætte på.
Avatar billede valmo Nybegynder
10. juni 2015 - 08:16 #2
Hej

Det var mere hvordan jeg får fortalt hvilke celler det er jeg gerne vil have data fra i mit stringgrid til excel. Da der er 36 celler der er navngivet 1-36. Jeg vil godt have data fra celle 2,3,4,7,8,9,10,11,15,24,35 og 36
Avatar billede kroning Nybegynder
10. juni 2015 - 22:37 #3
Nu kender jeg ikke hele dit system men en løsning kunne være at tilføje en parameter til din ovenstående procedure, en Array, hvor du angiver hvilke Rows du vil have med og så ændre din for-next lykke til at benytte dette Array til at udfylde arrData.
Avatar billede valmo Nybegynder
09. marts 2016 - 15:04 #4
Løste det ved at udskrive de ønskede celler til en txt fil som så kunne indlæses i Excel.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester