OpenXML bekommen arbeitsblattname von Arbeitsblatt

Ich bin der Iteration über meine Arbeitsblätter wie so

WorkbookPart wbPart = doc.WorkbookPart;
SharedStringTablePart sstPart = wbPart.GetPartsOfType<SharedStringTablePart>().First();
SharedStringTable sst = sstPart.SharedStringTable;

foreach (var wsp in wbPart.WorksheetParts)
{
    Worksheet ws = wsp.Worksheet;

    //i want to do something like this
    if (ws.Name == "People_Sheet")
    {

    }
}

Muss ich wissen, welches Blatt ich Sie verarbeite, so kann ich handhaben es anders. Wie bekomme ich den Namen des Blattes (die, die angezeigt wird, wenn ich es öffnen in excel-von hier aus)?

Wenn ich eine Liste von Platten, die ich finden kann es durch Attribute

doc.WorkbookPart.Workbook.Sheets.ToList().ForEach(x => Console.WriteLine(x.GetAttribute("name", "").Value));

Aber was ist die Beziehung zwischen einer Folie und einem Arbeitsblatt? Wie bekomme ich die entsprechenden Blatt-oder Blatt-name aus einem Arbeitsblatt?

UPDATE:

Also ich habe finden und versuchen, diese Gewusst wie: abrufen von Tab-Namen aus excel-Tabelle mithilfe von OpenXML

Jedoch der sheetName passten nicht in das Arbeitsblatt.

 foreach (var wsp in wbPart.WorksheetParts)
 {
      Worksheet worksheet = wsp.Worksheet;
      var sheetName = wbPart.Workbook.Descendants<Sheet>().ElementAt(sheetIndex).Name;
      var rows = worksheet.Descendants<Row>();
      ...
 }

Den Zeilen, die zurückgegeben werden aus dem Arbeitsblatt entspricht nicht der Zeilen, die in dem Blatt angegeben sheetName. Lassen Sie mich versuchen zu erklären, weiter

Ich habe drei Arbeitsblätter in meinem excel-Dokument - von Menschen, Unternehmen, Produkte, (in dieser Reihenfolge)

In der ersten iteration der Schleife - die Daten, die ich von Arbeitsblatt-Zeilen bezieht sich auf Produkte, sheet Daten, aber der Blattname sagt "Menschen"

möglich, Duplikat der gewusst Wie: abrufen von Tab-Namen aus excel-Tabelle mithilfe von OpenXML
Ich werde zu aktualisieren meinem ursprünglichen Antwort zu reagieren, zu kommentieren.
Ich würde empfehlen nicht die Verwendung von Open XML. Es ist langsam und die api ist schrecklich. Haben Sie einen Blick auf die EPPplus Projekt das finde ich ist viel besser für den Umgang mit Excel. epplus.codeplex.com

InformationsquelleAutor rocklobster | 2014-10-31

Schreibe einen Kommentar