ClosedX를 사용한 Excel 파일 읽기ML
제 엑셀 파일은 표 형식으로 되어 있지 않습니다.엑셀 파일을 읽으려고 합니다.내 엑셀 파일에는 표 형식의 섹션이 있습니다.
표 형식의 3행에서 20행까지 반복하여 데이터를 읽어야 합니다.
코드명은 다음과 같습니다.
string fileName = "C:\\Folder1\\Prev.xlsx";
var workbook = new XLWorkbook(fileName);
var ws1 = workbook.Worksheet(1);
3 ~ 20 행을 루프하여 3, 4, 6, 7, 8 열을 읽으려면 어떻게 해야 합니까?또한 행이 비어 있는 경우 각 열에 지정된 행에 대한 값이 있는 것을 읽지 않고 건너뛸 수 있도록 하려면 어떻게 해야 합니까?
행에 액세스하려면:
var row = ws1.Row(3);
행이 비어 있는지 확인하려면:
bool empty = row.IsEmpty();
행의 셀(열)에 액세스하려면:
var cell = row.Cell(3);
셀에서 값을 가져오려면:
object value = cell.Value;
// or
string value = cell.GetValue<string>();
상세한 것에 대하여는, 메뉴얼을 참조해 주세요.
여기 제 잼이 있어요.
var rows = worksheet.RangeUsed().RowsUsed().Skip(1); // Skip header row
foreach (var row in rows)
{
var rowNumber = row.RowNumber();
// Process the row
}
그냥 사용하면.RowsUsed()범위에는 대량의 열이 포함됩니다.실제로 채워진 것보다 훨씬 더 많이!
사용방법.RangeUsed()범위를 제한합니다.이렇게 하면 파일을 더 빨리 처리할 수 있습니다.
를 사용할 수도 있습니다..Skip(1)컬럼 헤더 행(있는 경우)을 건너뜁니다).
이 솔루션이 OP의 문제를 해결할 수 있을지는 모르겠지만 Rows Used 방식을 사용하는 것이 좋습니다.비어 있지 않거나 사용자가 편집한 행 목록만 가져올 수 있습니다.이렇게 하면 각 행을 처리하는 동안 비어 있는지 확인할 수 있습니다.
아래 코드 조각은 비어 있지 않은 모든 행 중 3 ~ 20개의th 행 번호를 처리할rd 수 있습니다.빈 행을 필터링한 후foreach루프. 행 처리를 시작하기 전에 비어 있지 않은 행을 필터링하면 처리되는 행의 총 개수에 영향을 줄 수 있습니다.따라서 내부에서 처리되는 총 행 수를 기반으로 하는 논리를 적용할 때 주의해야 합니다.foreach고리.
string fileName = "C:\\Folder1\\Prev.xlsx";
using (var excelWorkbook = new XLWorkbook(fileName))
{
var nonEmptyDataRows = excelWorkbook.Worksheet(1).RowsUsed();
foreach (var dataRow in nonEmptyDataRows)
{
//for row number check
if(dataRow.RowNumber() >=3 && dataRow.RowNumber() <= 20)
{
//to get column # 3's data
var cell = dataRow.Cell(3).Value;
}
}
}
RowsUsed 메서드는 Excel 시트의 행을 처리해야 하는 일반적인 문제에 도움이 됩니다.
동작하기 쉽다
XLWorkbook workbook = new XLWorkbook(FilePath);
var rowCount = workbook.Worksheet(1).LastRowUsed().RowNumber();
var columnCount = workbook.Worksheet(1).LastColumnUsed().ColumnNumber();
int column = 1;
int row = 1;
List<string> ll = new List<string>();
while (row <= rowCount)
{
while (column <= columnCount)
{
string title = workbook.Worksheets.Worksheet(1).Cell(row, column).GetString();
ll.Add(title);
column++;
}
row++;
column = 1;
}
언급URL : https://stackoverflow.com/questions/29655498/reading-from-excel-file-using-closedxml
'programing' 카테고리의 다른 글
| Azure App Services에서 스케일아웃은 어떻게 작동합니까? (0) | 2023.04.20 |
|---|---|
| 특정 확장자가 ls 및 grep인 파일 나열 (0) | 2023.04.20 |
| 이 주의를 수정하기 위해 github 워크플로우 작업에 대한 파일을 아티팩트에 아카이브하는 방법은 무엇입니까? (0) | 2023.04.20 |
| SQL에서 all union과 order by를 사용하는 방법은 무엇입니까? (0) | 2023.04.20 |
| WPF: 동적으로 작성된 WPF 창에서 컨트롤을 동적으로 추가하는 방법 (0) | 2023.04.20 |