プッシュを使用せずに新しい列を動的に作成するとわかることから、IEでは逆方向に行われます。sheet[r].push() を実行してもうまくいかないので、他にこれを行う方法がわかりません。
これをコード フローで説明します。
//{" ":"545"} current object.
sheet[r][colN[elmt][ceeLineData.ColLabel].toString()] = dat[count + c].data;
//{" ":"545","20":"1"} current object.
したがって、この行は何もせず、行データが「1」の「20」というタイトルの新しい列を追加するだけです。次のようなものです。
[" "]--["20"]//columns 0,1
["545"]["1"]//row 0
これは ff、safari、opera、chrome に当てはまりますが、IE ではこれを行いました
["20"]--[" "]
["1"]["545"]
なぜ?
参考までに、上記のブレーキダウン値を以下に示します。
alert( r ) //0
alert( JSON.stringify( sheet[r] ) ); // {" ":"545"}
alert( c ) //1
alert( count + c ) //56
alert( dat[count + c].data ) //1
alert( elmt ) // 9
alert( ceeLineData.ColLabel ) //BP In Hg
alert( colN[elmt][ceeLineData.ColLabel].toString() )//20
alert( JSON.stringify( sheet[r] ) ); // {" ":"545","20":"1"}//not IE
alert( JSON.stringify( sheet[r] ) ); // {"20":"1"," ":"545"}//IE