2

「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)

専門家の提案はありますか?

4

1 に答える 1