2017-03-16 2 views
-5

Ich bin neu in Visual Studio und ich versuche, ein Programm zu machen, wo der Benutzer einen vollständigen Namen in ein Textfeld eingeben kann, das ein suchen wird Excel für den Namen, Datei und die Inhalte der Zelle angezeigt werden rechts von ihm ... zum BeispielVerwenden Sie Visual Studio, um nach einer bestimmten Zeichenfolge in einer Spalte usw. zu suchen.

Benutzereingaben „John Smith“

Programm sucht Excel-Datei-Setup wie folgt:

Excel is like this

Programmausgaben jsmith9013 ...

+0

Es funktioniert am besten, wenn Sie versuchen, etwas zu codieren, und wenn es nicht Sie Fragen funktioniert fragen nach Ihren persönlichen Code – efekctive

+0

@efekctive Der beste Weg zu lernen ist mit einem Beispiel in meiner Wahl. Es ist besser, ein Beispiel zu geben und den Schüler für seine Bedürfnisse zu korrigieren. So können sie den Code lernen, damit er funktioniert. Wenn du nicht viel Erfahrung hast, ist es schwer etwas zu finden. –

+0

Soweit ich weiß, beinhalten die Regeln von SO nicht das Lehren. – efekctive

Antwort

0

Sie können Excel-DLL importieren, die mit Excel funktioniert, aber Sie müssen Excel auf dem Client-PC haben.
Sie müssen mit Excel = Microsoft.Office.Interop.Excel; ganz oben in deinem Code.
Auch Sie müssen die Referenz hinzufügen. Hier ist, wie link

Sie können die folgende Funktion verwenden, die für das Wort Test sucht

private void SearchText() 
     { 
      string File_name = "D:\\test.xlsx"; 
      Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application(); 
      Microsoft.Office.Interop.Excel.Workbook oWB; 
      Microsoft.Office.Interop.Excel.Worksheet oSheet; 
      try 
      { 
       object missing = System.Reflection.Missing.Value; 
       oWB = oXL.Workbooks.Open(File_name, missing, missing, missing, missing, 
        missing, missing, missing, missing, missing, missing, 
        missing, missing, missing, missing); 
       oSheet = (Microsoft.Office.Interop.Excel.Worksheet)oWB.Worksheets[1]; 
       Microsoft.Office.Interop.Excel.Range oRng = GetSpecifiedRange("test", oSheet); 
       if (oRng != null) 
       { 
        MessageBox.Show("Text found, position is Row:" + oRng.Row + " and column:" + oRng.Column); 
       } 
       else 
       { 
        MessageBox.Show("Text is not found"); 
       } 
       oWB.Close(false, missing, missing); 

       oSheet = null; 
       oWB = null; 
       oXL.Quit(); 
      } 
      catch (Exception ex) 
      { 

      } 
     } 
+0

Danke Ich werde den Code ausprobieren, wenn ich kann. – DefectiveEngineer

+0

Irgendwas Glück? Bitte als beantwortet markieren, wenn ich Ihre Frage beantwortet habe. –

Verwandte Themen