-
IT café
Új hozzászólás Aktív témák
-
ATISoft
tag
Üdv!
C++ Builder 6-ban éppen az Excellel küzdök és van egy probléma amire nem találtam megoldást eddig (pedig biztosan van)
Egy eléggé nagy szöveges állományt kell Excelbe átpakolnom, formázottan,
ami megy is, csak meglehetősen lassan, ugyanis cellánként pakolom az adatokat és egy óráig is eltart mire befejezi a műveletet.Szeretném megoldani azt, hogy az adatokat először egy tömbbe másolom, majd Excelben range-el kijelölöm hová akarom tenni a tömb tartalmát és úgy illesztem be. Netről szoktam ollózgatni példákat amiket átalakítok, viszont erre nem találtam normális megoldást.
Nemrég óta foglalkozom ezzel és még van sok sötét folt.
Tud valaki segíteni hogyan csináljam?
Egy példaprogram volna a legjobb.Nagyon leegyszerűsítve most kb. így néz ki a program:
(a cellánként másolást kellene kiváltani valami gyorsabb módszerre)Variant XL,v0,v1,v2;
XL=Variant:: CreateObject("excel.application");
XL.OlePropertySet("Visible",false);
XL.OlePropertyGet("Workbooks").OleProcedure("Open",forras_file);
v0=XL.OlePropertyGet("Workbooks");
v1=v0.OlePropertyGet("Item",1);
v0=v1.OlePropertyGet("Worksheets") ;v0=XL.OlePropertyGet("Sheets",1);
v1=v0.OlePropertyGet("Cells");
v2=v0.OlePropertyGet("Columns");i=1;
while(!feof(f)){
v1.OlePropertyGet("Item",i,1).OlePropertySet("Value",var_1);
v1.OlePropertyGet("Item",i,2).OlePropertySet("Value",var_2);
v1.OlePropertyGet("Item",i,3).OlePropertySet("Value",var_3);
i+=1;
fread(&tstru,30,1,f);
}fclose(f);
v1.OlePropertyGet("EntireColumn").OleProcedure("AutoFit");
XL.OleProcedure("Save");
XL.OleProcedure("Quit");[ Szerkesztve ]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Assetto Corsa Competizione
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Luck Dragon: Asszociációs játék. :)
- MG4 menetpróba
- Samsung Galaxy A54 - türelemjáték
- Nintendo Switch 2 vagy amit akartok (találgatós topik most még)
- Okos Otthon / Smart Home
- Milyen TV-t vegyek?
- Harold Halibut teszt
- Kerékpárosok, bringások ide!
- További aktív témák...