テーブルにExcelのようなスクロール機構を付加する(その2)

普通に書いたテーブルに対して、Excelのようにヘッダ部以外をスクロール可能に変更するJavascript
その1
サンプル

幅の固定化をしていない表をサポートしようと試みるが失敗。
ネタ元 id:zwfk:20041110

for(var i=0;i<oTBL.tHead.rows[0].cells.length;i++) {
 oTBL.tHead.rows[0].cells[i].style.width = 
  oTBL.tHead.rows[0].cells[i].offsetWidth+'px';
 oTBL.tBodies[0].rows[0].cells[i].style.width = 
  oTBL.tHead.rows[0].cells[i].offsetWidth+'px';
}
oTBL.style.width = oTBL.offsetWidth+'px';


上記コードでレンダリング済みの表から各セルの幅をoffsetWidthで取得してstyle.widthで指定しなおそうとしたが、セルの余白(cellpaddingやtd,thに対するpadding)があると、その分大きくなってしまう。
cellpaddingだけならその分、引いてwidthに設定すればいいけど、スタイルシートでセルにpaddingを設定されていると困ってしまう。
# IEだけならcurrentStyleでわかるんだけど他のブラウザでは使えないし。
もうちょっと使えそうなプロパティがないか調べてみよう。