Получить данные столбца из 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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д