「n」行と「n」列を持つことができるExcelを読み、処理のためにデータを配列に保存する必要があります。
たとえば、以下のとおりです。
Author Book No Value
ABC A 1 100
DEF D 2 20
ヘッダーを別の配列に、情報行を別の配列に取りたいと思います。
これが私がこれまでに持っているものです:
データが Excel ワークシートの行 13 から始まると仮定すると、
var i, j, k ,l,m ,n;
i=13; j=1, k=0; m=0; n=0; // i represents the row and j represents excel column(A)
while(EApp.ActiveSheet.Cells(12,j).Value!="")
{
j=j+1; // Counting the Number of Columns (Header)
}
j=j-1; //decrementing the counter j by 1
k=j;
while(j!=0)
{
ArrField[j]=EApp.ActiveSheet.Cells(12,j).Value;
j=j-1;
}
これは私が試したもので、出力は期待どおりですが、これをコーディングするより良い方法はありますか? 変数が少ないことが望ましい。
while(EApp.ActiveSheet.Cells(i,1).Value!="undefined")
{
m=k;
j=0;
ArrData[i]=new Array(m);
while(m!=0)
{
ArrData[n][j]=EApp.ActiveSheet.Cells(i,m).Value;
m=m-1;
j=j+1;
}
n=n+1;
i=+1;
}
また、配列を読み取って、別のシステムの対応するフィールドに格納する必要があります。私はここで少し迷っています。
サンプルコード: (このようなもの)
SetFieldValue(ArrField[0],ArrData[0][0]);
配列出力:
Value,No,Book,Author (Header got in reverse order)
100,1,A,ABC,20,2,D,DEF (2 rows of Data also got in reverse order)
専門家の提案はありますか?