tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
346
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    chriss_2oo4 chriss_2oo4 ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    194
    Hi,

    ich benutze COM um Excel auszulesen, da ich mit OleDB komischer Weise den Inhalt von manchen Zeilen nicht bekomme.

    Da OleDB in Verbindung mit LINQ wesentlich kompfortabler ist, wäre es natürlich super wenn jemand mögliche Ursachen für solch ein Problem kennt.

    Ich habe eine relativ umfrangreiche Tabelle, deren Spalten sowohl Zahlen als auch Buchstaben enthalten. Es werden keine Formeln oder Grafiken verwendet.

    Aber nun zu meinem Problem

    bisher habe ich nur Code wie diesen hier gesehen:

    Code :
    1
    2
    3
    4
    5
    6
    
    // loop through 10 rows of the spreadsheet 
    for (int i = 1; i <= 10; i++)
    {
    Excel.Range range = worksheet.get_Range("A"+i.ToString(), "J" + i.ToString());
    ...
    }

    Allerdings muss ich dazu wissen, dass sich alle Informationen innerhalb den Zeilen 1-10 und innerhalb der Spalten A-J befinden.
    Fügt ein Benutzer nun neue Zeilen oder Spalten zum Arbeitsblatt hinzu, werden diese niemals von meinem Programm erreicht.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    ....
    while (true)
     {
       range = (Range)ws.get_Range(rangeStart, rangeStop);
     
       if (range.Value2 == null)
       {
          break;
        }
       else
        {
           ...
        }
     }


    Das funktioniert ja eigentlich auch, aber wenn eine Spalte oder Zeile ausgelassen wird, gehts auch nicht mehr.

    Jetzt ist die Frage, sind die Grenzen der aktuell geladenen XLS Datei nicht irgendwo hinterlegt, so dass ich ganz einfach und praktisch mit einer for-Schleife durch alle Zellen mit Informationen navigieren kann?


    Beste Grüße
    Chriss
     

  2. #2
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Beim SpreadsheetGear gibts sowas wie UsedRange.
    Ev. gibt sowas ja auch da.

    (Neuer Rechner hab noch kein VS drauf)
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

Ähnliche Themen

  1. » Excel [Excel 2003] 2007er Skript funktioniert unter 2003er Excel nicht
    Von DarthShader im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 24.08.10, 12:18
  2. Antworten: 0
    Letzter Beitrag: 17.07.09, 10:08
  3. [Excel] Inhalt einer Excel Datei als neues Tabellenblatt einfügen
    Von hauke1981 im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 14.12.08, 19:02
  4. Antworten: 4
    Letzter Beitrag: 03.05.07, 16:48
  5. Antworten: 0
    Letzter Beitrag: 10.02.05, 14:58