2017-11-21 4 views
0

nicht finden. Sie müssen den Index für jeden in r (Bereich) finden. Bitte helfenEpplus OpenXml kann den Index im Bereich

Code:

r = "C1:G10" 
//Interop : 
ws.Range[ws.Cells[r[1, 1].Row, r[1, 1].Column], ws.Cells[r[1, 1].Row, r[1, r.Columns.Count].Column]] 

Wie den Index r erhalten [1,1] in Epplus wie oben in Interop verwendet.

Antwort

0

Ich bin mir nicht ganz sicher, ob ich der Frage folge, aber EPPlus verfügt über einige Mittel, um auf einen bestimmten Bereich zu verweisen.

Ein paar Beispiele:

using (var xl = new ExcelPackage(new FileInfo("input.xlsx"))) 
{ 
    var wks = xl.Workbook.Worksheets.First(); 

    var rangeByAddress = wks.Cells["C1:G10"]; 
    var rangeByIndexAndDimensions = wks.Cells[1,3,10,7]; //[row, col, numberOfRows, numberOfCols] 
} 

Sie dies auf ein Array von Objekten wandeln dann können die Werte der Zellen wie folgt darstellen:

var values = rangeByAddress.Value as object[,]; 
+0

jetzt wie zum Beispiel: für die Datenwerte wie unten in einem bottle von 5x5 gespeichert: C1xG10: [20, 30 .. 10: 30 20 ..50] wie auf einzelne Werte/position basierend auf index wie rangeByAddress [1,1] zugreifen würde geben 20 wie ein Array ie: wenn index beginnt von 1 – Ives

+0

ich aktualisiert die antwort –

+0

wie g et Zeilen und Spalten dieses Index? versuchte so etwas wie folgt: 'rangeByAddress.Rows als object [,]' es gibt Konvertierungsfehler _ "Kann den Typ 'int' nicht in 'object [,]' über eine Referenzkonvertierung, Boxkonvertierung, Unboxingkonvertierung, Umbruchkonvertierung oder Null konvertieren Typ Umwandlung "_ – Ives

Verwandte Themen