2008-12-17 21:13
fenghunwj
这个是直接从页面上把数据存入EXCEL中的做法!
我以前用过的!不知道适不适合你用
[code]function CellAreaExcel() {
var t = document.getElementById("TableExcel");
var rowNum = 0;
var oXL = new ActiveXObject("Excel.Application"); //创建应该对象
var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
var beginCol = 0;
var rowSpans = 1; //行合并
var colSpans = 1; //列合并
oXL.visible = true;
var Lenr = t.rows.length;
//总列数据
var colsNum = t.rows(0).cells.length - 2;
//对于第一行的标题部分进行合并居中,
var excRange = oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(1, colsNum));
excRange.Merge(true);
excRange.value = "\u6c34\u529f\u80fd\u533a\u6392\u6c61\u54c1\u4fe1\u606f\u6d4f\u89c8";
excRange.HorizontalAlignment = 3;//'居中
excRange.Font.Name = "\u9ed1\u4f53";
for (i = 0; i < Lenr - 1; i++) {
var Lenc = t.rows(i).cells.length;
for (j = 1; j < Lenc - 1; j++) {
oSheet.Cells(i + 2, j).value = t.rows(i).cells(j).innerText;
}
}
//字符大小为9
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Font.Size = 9;
//居中
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).HorizontalAlignment = 3;
//自动调整列宽
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Columns.AutoFit();
//自动调整行高
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Rows.AutoFit();
//划边框
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Borders.LineStyle = 1;
oXL.close();
}[/code]