Как прочесть данные из области ячеек в массив?
Точно также, как и при экспорте, только самому создавать массив не нужно — Excel все сделает за вас. В принципе, после получения данных в массив, Excel уже не нужен, и от него можно отсоединиться.
Delphi:
var
myVarArray: OleVariant; … // массив будет создан автоматически
MyVarArray := ASheet.UsedRange[lcid].Value[xlRangeValueDefault]; // цикл по строкам
for R := VarArrayLowBound(MyVarArray, 1) to VarArrayHighBound(MyVarArray, 1) do
// цикл по столбцам
for C := VarArrayLowBound(MyVarArray, 2) to VarArrayHighBound(MyVarArray, 2) do
C#:
// объявим пустой двумерный массив и получим в него данные object[,] srcArr = (object[,]) ASheet.UsedRange.get_Value( Excel.XlRangeValueDataType.xlRangeValueDefault); // цикл по массиву for (int R = srcArr.GetLowerBound(0); R <= srcArr.GetUpperBound(0); R++) for (int C = srcArr.GetLowerBound(1); C <= srcArr.GetUpperBound(1); C++)