programing

C# EPplus OpenXML의 행 수

codeshow 2023. 4. 17. 22:09
반응형

C# EPplus OpenXML의 행 수

EPplus 및 OpenXML을 사용하는 경우 행의 카운트 방법에 대해 아는 사람이 있습니까?

내 워크시트를 "워크시트"라고 합니다.

int numberRows = worksheet.rows.count()또는?worksheet.rows.dimension

저는 당연히 그 해답에 관심이 있지만, "정의로 가서 이것저것 찾아보세요"와 같은 해답은 어떻게 찾을 수 있을까요?

워크시트 개체 사용worksheet,worksheet.Dimension.Start.Row그리고.worksheet.Dimension.End.Row필요한 정보를 얻을 수 있습니다.

worksheet.Dimension.Address그럼 기존 Excel 범위 형식(예: 'A1:I5'(1-5행, 1-9)에 대해 선택합니다.

사용 가능한 문서 파일이 있습니다.많은 경우 도서관을 가지고 놀면서 답을 찾는 것이 빠를 수 있습니다.EPPlus는 잘 설계되어 있는 것 같습니다.적어도 모든 것이 논리적으로 명명되어 있는 것 같습니다.

알려줘서 고마워, 쿠파입찰에서 워크북 스프레드시트에서 다음과 같이 DataTable을 작성했습니다.

    /// <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;
    }

버전 4.1을 사용하고 있는데, 이전 답변에서 언급한 몇 가지 속성을 추가한 것 같습니다.

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;
}

매우 간단:

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

언급URL : https://stackoverflow.com/questions/4777128/c-sharp-epplus-openxml-count-rows

반응형