it-swarm.com.de

C # EPPlus OpenXML-Zählzeilen

Kennt jemand mit EPPlus und OpenXML die Syntax zum Zählen der Zeilen?

Angenommen, mein Arbeitsblatt heißt "Arbeitsblatt"

int numberRows = worksheet.rows.count()? oder worksheet.rows.dimension

Ich bin auf jeden Fall an der Antwort interessiert, aber wie man die Antwort findet, wäre cool, wie "Gehe zur Definition" und suche nach diesem oder jenem usw.

30
rd42

Bei einem Arbeitsblattobjekt namens 'Arbeitsblatt' sollten Ihnen Worksheet.Dimension.Start.Row und Worksheet.Dimension.End.Row die Informationen enthalten, die Sie benötigen.

workheet.Dimension.Address gibt Ihnen eine Zeichenfolge mit den Arbeitsblattmaßen im traditionellen Excel-Bereichsformat (z. B. 'A1: I5' für die Zeilen 1-5, Spalten 1-9).

Es steht eine Dokumentationsdatei zur Verfügung . In vielen Fällen kann es genauso schnell sein, mit der Bibliothek herumzuspielen und auf diese Weise die Antwort zu finden. EPPlus scheint gut zu sein - zumindest scheint alles logisch benannt zu sein.

69
Quppa

Danke für diesen Tipp Quppa. Ich habe es in meinem Angebot verwendet, um eine DataTable aus einer Arbeitsmappen-Tabelle wie folgt auszufüllen:

    /// <summary>
    /// Converts a Worksheet to a DataTable
    /// </summary>
    /// <param name="worksheet"></param>
    /// <returns></returns>
    private static DataTable WorksheetToDataTable(ExcelWorksheet worksheet)
    {
        // Vars
        var dt = new DataTable();
        var rowCnt = worksheet.Dimension.End.Row;
        var colCnt = worksheet.Dimension.End.Column + 1;

        // Loop through Columns
        for (var c = 1; c < colCnt; c++ )
        {
            // Add Column
            dt.Columns.Add(new DataColumn());

            // Loop through Rows
            for(var r = 1; r < rowCnt; r++ )
            {
                // Add Row
                if (dt.Rows.Count < (rowCnt-1)) dt.Rows.Add(dt.NewRow());

                // Populate Row
                dt.Rows[r - 1][c - 1] = worksheet.Cells[r, c];
            }
        }

        // Return
        return dt;
    }
13
Kwex

Ich arbeite mit Version 4.1 und es sieht so aus, als hätten sie einige Eigenschaften hinzugefügt (in den Kommentaren der vorherigen Antworten erwähnt), um dies zu erleichtern.

string Filepath = "c:\excelfile.xlsx";
FileInfo importFileInfo = new FileInfo(FilePath);
using(var excelPackage = new ExcelPackage(importFileInfo))
{
    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
    int rowCount = worksheet.Dimension.Rows;
    int colCount = worksheet.Dimension.Columns;
}
3
Roland Schaer

Ganz einfach mit:

private int GetDimensionRows(ExcelWorksheet sheet)
{
    var startRow = sheet.Dimension.Start.Row;
    var endRow = sheet.Dimension.End.Row;
    return endRow - startRow;
}
0
SiL3NC3