Avatar billede telep Nybegynder
22. februar 2006 - 09:32 Der er 8 kommentarer og
2 løsninger

Løbe excel-ark igennem og slette bestemte rækker

Hej,

Jeg skal løbe et excelark igennem og slette de rækker som opfylder nogle kriterier.

I SQL ville det så nogenlunde sådan her ud:
"DELETE FROM [ark1] WHERE Phone = " + intPhone;

det skal jeg så gøre ved brug af excel referencen. Jeg mangler lidt hjælp til at løbe excelarket igennem.

            Excel.Application Eapp = new Excel.ApplicationClass();
            Eapp.Visible = true;
           
            Excel.Workbook ew = Eapp.Workbooks.Open(@"C:\xselTEST500.xls",0,false,5,"","",false,
                Excel.XlPlatform.xlWindows,"",true,false,0,true,false,false);

Er hvad jeg har foreløbigt...
Avatar billede dr_chaos Nybegynder
22. februar 2006 - 09:40 #1
Avatar billede telep Nybegynder
22. februar 2006 - 09:46 #2
bestemt - men jeg mangler lige løkken der løber i gennem og checker om et felt i rækken har en bestemt værdi...
Avatar billede dr_chaos Nybegynder
22. februar 2006 - 10:20 #3
det var en komponent som blev brugt i det link jeg gav dig. det så jeg ikke.
du kan bruge noget i denne stil:
  Microsoft.Office.Interop.Excel.Application Eapp = new Microsoft.Office.Interop.Excel.ApplicationClass();
            Eapp.Visible = false;

            Microsoft.Office.Interop.Excel.Workbook ew = Eapp.Workbooks.Open(@"C:\xselTEST500.xls", 0, false, 5, "", "", false,
                Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);

            Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)ew.Worksheets[0];
            if (((Microsoft.Office.Interop.Excel.Range)ws.Cells[1, 1]).Text == "enstreng")
            {
                ((Microsoft.Office.Interop.Excel.Range)ws.Cells[1, 1]).Text = "";
            }
Avatar billede telep Nybegynder
22. februar 2006 - 10:48 #4
det giver mig vel ikke en løkke eller hvad?
Avatar billede telep Nybegynder
22. februar 2006 - 10:54 #5
Jeg har et excelark med 500 rækker og 5 kolonner i. Programmet skal løbe alle de 500 rækker igennem og slette de rækker hvor feltet som har kolonneoverskriften (Phone) er ligmed en variabel i mit program...

pseudokode:

foreach (excelrow r in excelark)
    if (excelrow[phone] == variabelPhone)
        delete excelrow;
Avatar billede dr_chaos Nybegynder
22. februar 2006 - 10:54 #6
vender tilbage senere skal i banken.
Avatar billede telep Nybegynder
22. februar 2006 - 10:55 #7
ok - god tur!
Avatar billede dr_chaos Nybegynder
22. februar 2006 - 13:16 #8
jeg fandt denne artikel som måske kan hjælpe dig lidt på vej.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_wrcore/html/wrtskhowtosearchfortextinworksheetranges.asp

du kan kalde Delete();
på en fundet range.
Avatar billede telep Nybegynder
10. marts 2006 - 10:31 #9
læste den ind i MS SQL via DTS....

hvis du vil have points så læg et svar
Avatar billede dr_chaos Nybegynder
10. marts 2006 - 10:44 #10
svar :)
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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