Zurück   3DCenter Forum > Software-Hilfe Foren > Programmierung
Registrieren Hilfe Community Kalender Heutige Beiträge Suchen Uns unterstützen

Antwort
 
Themen-Optionen Ansicht
Alt 2017-06-21, 06:53:43   #1 (im Thread / einzeln)
Gast
Gast
 
Beiträge: n/a
Excelsheet auslesen mit C#

Hallo,


ich bin gerade dabei ein Excel-Sheet auszulesen, dieses wird nachher in ein Grid geschrieben.

Jede Spalte in einem Grid entspricht dabei einer Spalte im Excel-Sheet.

Monat 1 Monat 2
A B C D E F
ID1: Meter, Betrag, Straße || Meter, Betrag, Straße
ID2: Meter, Betrag, Straße || Meter, Betrag, Straße


Ich habe jeweils den Startpunkt (allerdings nur als Buchstaben)
z. B. Meter steht in Spalte A.
Für das nächste Monat muss ich also 3 Spalten draufrechen, um wieder in der nächsten Meterspalte zu sein:

i = Zeilennummer

cell = (Excel.Range)xlWorkSheet.Cells[i, A + 3];

nächster Durchgang:
cell = (Excel.Range)xlWorkSheet.Cells[i, A + 6];


Leider kann er Spalte A (was ja 1 entspricht) nicht addieren. Gibt es da irgendeine Möglichkeit?

Ich hoffe, das ist einigermaßen verständlich.

Danke
  Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2017-06-24, 19:32:03   #2 (im Thread / einzeln)
Dr.Doom
Grandmaster Member
 
Benutzerbild von Dr.Doom
 
Registriert: 2002-02-10
Ort: Dårlig Ulv Stranden (NRW, West)
Beiträge: 14.032
Re: Excelsheet auslesen mit C#

Von A1- nach Z1S1-Bezugsart umrechnen und mit ermittelten Zahlen weiterarbeiten:

Zeile = Range("A1").Row --> 1
Spalte = Range("A1").Column --> 1

Wir machen Strom so billig, dass nur noch die Reichen Kerzen nutzen.
- Thomas Edison
Was ohne Ruhepausen geschieht, ist nicht von Dauer.
- Ovid
Ich muss mich nicht streiten über Dinge, von denen ich weiß, dass man sich darüber nicht streiten kann - weil es sich um Fakten handelt.
- Harald Lesch
Dr.Doom ist offline Computer-Informationen von Dr.Doom anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2017-07-02, 00:31:23   #3 (im Thread / einzeln)
twodoublethree
Platinum Member
 
Benutzerbild von twodoublethree
 
Registriert: 2005-12-27
Ort: Rosenheim
Beiträge: 1.047
Re: Excelsheet auslesen mit C#

Oder nimm SpreadsheetLight für alles, was mit Excel zu tun hat. Die Library ist wirklich super für Excel Interop.

Damit kannst Du dann sowas machen:
Code:
using SpreadsheetLight;

var maxMonth = 1;
using (var excelDocument = new SLDocument(excelStream))
{
    excelDocument.SelectWorksheet("Invoices By Month");
    for (var month = 0; month <= maxMonth; month++)
    {
        var row = 1;
        while (excelDocument.HasCellValue(row, 1))
        {
            var length = excelDocument.GetCellValueAsDecimal(row, 1 + (3 * month));
            var amount = excelDocument.GetCellValueAsDecimal(row, 2 + (3 * month));
            var street = excelDocument.GetCellValueAsString(row, 3 + (3 * month));
            // process the values, e.g. SaveDataset(length, amount, street, month, row)
            row++;
        }
    }
}

Geändert von twodoublethree (2017-07-02 um 00:41:21 Uhr)
twodoublethree ist offline   Mit Zitat antworten Beitrag zum Zitieren auswählen
Antwort

Lesezeichen
  • Dieses Thema bei Twitter speichern
  • Dieses Thema bei Facebook speichern


Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:26:11 Uhr.


Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.