Чтение xls/xlsx и отображение на экране

Я использую "ExcelDataReader" для чтения в файле Excel, я хочу отобразить файл на экране.

protected void Page_Load(object sender, EventArgs e)
{
    string filePath = @"C:\WORK\BoireannSVN\trunk\VS\CRCConnect\Spreadsheet\Spreadsheet.xlsx";

    FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);

    IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);

    excelReader.IsFirstRowAsColumnNames = true;
    DataSet result = excelReader.AsDataSet();

    while (excelReader.Read())
    {
        Label x = new Label();
        x.Text = result.Tables[0].Rows[0].ItemArray[0].ToString();
        uploadExcel.Controls.Add(x); 

        excelReader.GetInt32(0);
    }

    excelReader.Close();

}

Я добавил в

Label x = new Label(); 
x.Text = result.Tables[0].Rows[0].ItemArray[0].ToString();

Попытка получить лист Excel для отображения на экране, хотя мне не повезло с этим. Я думаю это что-то вроде

table1.Columns.Add;
table1.Rows.Add;

но, похоже, не получается, любая помощь очень ценится.

1 ответ

Я был в похожей ситуации, я сделал следующее:

var rows = results.Tables[0].AsEnumerable();

Затем вы можете выполнить итерацию и выбрать значение для столбцов:

foreach (var dataRow in rows)
            {

                Console.WriteLine(dataRow[0]);
                //or
                Console.WriteLine(dataRow["ColumnName"]);
            }
Другие вопросы по тегам