Hirdetés
- gban: Ingyen kellene, de tegnapra
- Brogyi: CTEK akkumulátor töltő és másolatai
- sidi: 286-os Laptop memóriabővítés: Toshiba T3100e (gázplazma)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- btz: Internet fejlesztés országosan!
- eBay-es kütyük kis pénzért
- urandom0: Aki használ/használt Giten kívűl más verziókezelőt, mesélne róla?
- enginev3.0: Torrent autodl beállítás
Új hozzászólás Aktív témák
-
ubid
senior tag
Sziasztok !
Egy excel importert kell írnom silverlight alatt.
Elegáns megoldásként úgy gondoltam, hogy mivel 4000 soros excel állományokról van szó, amiknek a felolvasása több időt vesz igénybe, hogy háttér szálon olvasson a UI fagyása nélkül.BackgroundWorkerrel szerettem volna megoldani, azonban abba a hibába ütköztem, hogy Invalid cross-thread access hibát dob.
Egy gomb eseménye a fájl betallózása :
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Excel workbook (*.xls;*.xlsx;*.xlsm)|*.xls;*.xlsx;*.xlsm|All files|*.*";
openFileDialog.ShowDialog();
FileInfo fileInfo = openFileDialog.File;
if (fileInfo != null)
{
tbMessages.Text = "The processing may take several minutes. Please wait...\n";
btnImporter.IsEnabled = false;
DoBackGroundWork(fileInfo);
}A DoBackGroundWork metódusom így néz ki :
private void DoBackGroundWork(FileInfo f)
{
BackgroundWorker worker = new BackgroundWorker();
fileNameProperty = f;
worker.WorkerReportsProgress = true;
worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged);
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
worker.RunWorkerAsync();
}A lényeg pedig a DoWork eseménybe van :
void worker_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;
int totalSteps = 30;
ProcessExcelSheet(fileNameProperty);
}
}Ebbe pedig az excel kezelést ez végzi : ProcessExcelSheet(fileNameProperty);
A filNameProperty egy FileInfo-t tartalmaz, amire szükség van az excel megnyitásánál.Amikor ebbe a függvénybe meg szeretném nyitni az excel-t :
dynamic workbook = excel.Workbooks.Open(File.FullName);Akkor kapom a hibát.
Amíg ez a hosszú művelet futna egy progress baron szeretném kijeleztetni hogy éppen hol tartunk, valamint ne faggyon ugye a UI.
Hogyan tudnám ezt megoldani ha nem így ? ?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- gban: Ingyen kellene, de tegnapra
- Brogyi: CTEK akkumulátor töltő és másolatai
- Milyen videókártyát?
- Villanyszerelés
- Milyen belső merevlemezt vegyek?
- One otthoni szolgáltatások (TV, internet, telefon)
- Honor Magic6 Pro - kör közepén számok
- Elektromos cigaretta 🔞
- Milyen program, ami...?
- Házimozi haladó szinten
- További aktív témák...
- ÁFA-s Munka/Gamer PC ÁFA-s számlával, garanciával 12400F, RTX 3070, 32GB DDR5 RAM
- Eladó kézisúlyzók
- Asus TUF FX705GM 17.3" FHD IPS i7-8750H GTX 1060 16GB 500GB NVMe magyar vbill gar
- HP Pavilion Plus 14-ey0155ng Ryzen 5-7540 / 16GB / 512GB FHD+
- Szuper áron eladó 2az1-ben HP Pavilion x360 /14" i5-1335U, 16GB ram, 512 GB SSD, FHD, IPS,
- 142 - Lenovo LOQ (15IAX9) - Intel Core i5 i5-12450HX, RTX 4060 (ELKELT)
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- Gamer PC-Számítógép! Csere-Beszámítás! Ryzen 5 8400F / 32GB DDR5 / RX 7800XT 16Gb / 1TB SSD!
- HIBÁTLAN iPhone 14 Pro Max 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3510
- Telefon felvásárlás!! Samsung Galaxy A50/Samsung Galaxy A51/Samsung Galaxy A52/Samsung Galaxy A53
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest