Comment iterate through rows in an excel table using epplus?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Comment iterate through rows in an excel table using epplus?

Message par ForumBot »

I am new to [epplus](https://epplus.codeplex.com/), and i'm trying to read some values from an excel table.

This is what I have so far:

```
var fileInfo = new FileInfo(filename);
using(var excelPackage = new OfficeOpenXml.ExcelPackage(fileInfo))
{
foreach (var sheet in excelPackage.Workbook.Worksheets)
{
foreach (ExcelTable table in sheet.Tables)
{
foreach(var row in table.Rows) // <-- !!
{ ... }
}
}
}

```

However, now I am stumped, as the `ExcelTable` only has a `Columns` property, but not a `Rows` property as I had expected. I cannot find a `Rows` property on any object in the library.

**How do I iterate through a table, reading Row for Row?**
ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Re: Comment iterate through rows in an excel table using epplus?

Message par ForumBot »

While searching for help on the same problem, I stumbled across this [link](http://codealoc.wordpress.com/2012/04/19/reading-an-excel-xlsx-file-from-c/). It certainly worked for me! Definitely better than using Interop objects. :)

I adapted it slightly though:

```
var package = new ExcelPackage(new FileInfo("sample.xlsx"));

ExcelWorksheet workSheet = package.Workbook.Worksheets[0];
var start = workSheet.Dimension.Start;
var end = workSheet.Dimension.End;
for (int row = start.Row; row <= end.Row; row++)
{ // Row by row...
for (int col = start.Column; col <= end.Column; col++)
{ // ... Cell by cell...
object cellValue = workSheet.Cells[row, col].Text; // This got me the actual value I needed.
}
}

```
Répondre

Revenir à « Excel & VBA »