Получить данные столбца из Excel - C#

Узнай цену своей работы

Формулировка задачи:

Использую библиотеку https://exceldatareader.codeplex.com/ но у них на сайте только один пример. Делаю так:
            List<string> Dlist = new List<string>();
            string file = "exc_data.xls";
            FileStream stream = File.Open(file, FileMode.Open, FileAccess.Read);
 
            //1. Reading from a binary Excel file ('97-2003 format; *.xls)
            IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
            //...
            //2. Reading from a OpenXml Excel file (2007 format; *.xlsx)
            //IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
            //...
            //3. DataSet - The result of each spreadsheet will be created in the result.Tables
            //DataSet result = excelReader.AsDataSet();
            //...
            //4. DataSet - Create column names from first row
            excelReader.IsFirstRowAsColumnNames = true;
            DataSet result = excelReader.AsDataSet();

            //5. Data Reader methods
            while (excelReader.Read())
            {
                //excelReader.GetInt32(0);              
            }
 
            //6. Free resources (IExcelDataReader is IDisposable)
            excelReader.Close();
 
            Console.ReadKey();
Для начала не пойму читать данные нужно в цикле

while (excelReader.Read())

или из переменной

result

? Если да, то как я могу получить в

Dlist

все значения из столбца D документа? буду очень благодарен если подскажите...

Решение задачи: «Получить данные столбца из Excel»

textual
Листинг программы
            List<string> Dlist = new List<string>();
            string file = "exc_data.xls";
            FileStream stream = File.Open(file, FileMode.Open, FileAccess.Read);
 
            //1. Reading from a binary Excel file ('97-2003 format; *.xls)
            IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
            //...
            //2. Reading from a OpenXml Excel file (2007 format; *.xlsx)
            //IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
            //...
            //3. DataSet - The result of each spreadsheet will be created in the result.Tables
            //DataSet result = excelReader.AsDataSet();
            //...
            //4. DataSet - Create column names from first row
            excelReader.IsFirstRowAsColumnNames = true;
            DataSet result = excelReader.AsDataSet();
 
           
            //Data Reader methods
            foreach (System.Data.DataTable table in result.Tables)
            {
                Console.WriteLine(table.Rows.Count);
                Console.WriteLine(table.Columns.Count);
                Console.WriteLine(table.TableName);
                Console.WriteLine("\"" + table.Rows[6].ItemArray[4] + "\";");
                //for (int i = 0; i < table.Rows.Count; i++)
                //{
                //    for (int j = 0; j < table.Columns.Count; j++)
                //        Console.WriteLine("\"" + table.Rows[i].ItemArray[j] + "\";");
                //    Console.WriteLine(" ");
                //}
                {
                    for (int i = 0; i < table.Rows.Count; i++)
                    {
                        //Console.WriteLine("\"" + table.Rows[i].ItemArray[3] + "\";");
                        Dlist.Add(table.Rows[i].ItemArray[3].ToString());
                        //Console.WriteLine();
                    }
                }
            }
 
 
            //6. Free resources (IExcelDataReader is IDisposable)
            excelReader.Close();
 
            foreach (string item in Dlist) Console.WriteLine(item);
 
            Console.ReadKey();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы