Сделал!
Вернее нашел решения вот тут:
stackoverflow.com и вот тут
csharpcoderr.com и немного переделал.
Нижеприведенный программный код (написанный на языке C#) считывает данные из указанного столбца таблицы Excel (целиком весь столбец сразу) и записывает в одномерный массив
strArray
. Тип данных, хранимых в результирующем одномерном массиве -
string
.
//Создаём приложение.
Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
//Открываем книгу.
Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(pathToFile, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
//Выбираем таблицу(лист).
Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
// Указываем номер столбца (таблицы Excel) из которого будут считываться данные.
int numCol = 2;
Range usedColumn = ObjWorkSheet.UsedRange.Columns[numCol];
System.Array myvalues = (System.Array)usedColumn.Cells.Value2;
string[] strArray = myvalues.OfType<object>().Select(o => o.ToString()).ToArray();
// Выходим из программы Excel.
ObjExcel.Quit();
где:1) pathToFile
- путь к Excel файлу.
Можно указать нижеприведенным способом:
string pathToFile = @"C:\Users\alexey\data.xlsx";
2) numCol
- номер столбца в таблице Excel из которого будет происходить чтение данных.
Если нужно будет преобразовать все полученные элементы одномерного массива
strArray
из типа данных
string
к другому типу данных, к примеру
double
, то это можно сделать нижеприведенным кодом:
// Преобразование всех элементов одномерного массива
// strArray из строкового типа в тип double.
for (int i = 0; i < strArray.Length; i++)
DataArray[i] = Convert.ToDouble(strArray[i]);