ASP.NET的HTMLTable原样导出到Excel
2009-10-23 15:08
471 查看
文章出处:http://www.cnblogs.com/tomcat112906/articles/922639.html
ASP.NET的HTMLTable原样导出到Excel
js代码 : function PrintTableToExcelEx(objTab)
{
try
{
var xls = new ActiveXObject( "Excel.Application" );
}
catch(e)
{
alert( "您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。 请点击【帮助】了解浏览器设置方法!");
return false;
}
xls.visible = true;
var xlBook = xls.Workbooks.Add;
var xlsheet = xlBook.Worksheets(1);
var CurX = 1;
var CurY = 1;
for (var i = 0; i < objTab.rows.length; i++)
{
for (var j = 0; j < objTab.rows[i].cells.length; j++)
{
var cell = objTab.rows[i].cells[j];
var v = cell.outerText;
if ( cell.children != null && cell.children.length != 0 )
{
v = "";
for ( var k = 0; k < cell.children.length; k++ )
{
var cc = cell.children[k];
switch (cc.type)
{
case "select-one":
for ( var l = 0; l < cc.options.length; l++ )
if ( cc.options[l].selected ) v += cc.options[l].text;
break;
case "text":
v += cc.value;
break;
case "checkbox":
v += cc.checked ? "是" : "否";
break;
case undefined:
v += cell.outerText;
break;
case "hidden":
break;
default:
//v += cc.id + "/";
//v += cc.tagname + "/";
//v += cc.type + "/"
v += cc.value;
break;
}
}
}
while ( xlsheet.Cells(CurX,CurY).MergeCells ) CurY++;
xlsheet.Cells(CurX, CurY).HorizontalAlignment = 2;
var align = cell.getAttribute("align");
switch ( align )
{
case "left":
xlsheet.Cells(CurX, CurY).HorizontalAlignment = 2;//XlHalign.xlHalignLeft;
break;
case "center":
xlsheet.Cells(CurX, CurY).HorizontalAlignment = 3;;//XlHalign.xlHalignCenter;
break;
case "right":
xlsheet.Cells(CurX, CurY).HorizontalAlignment = 4;//XlHalign.xlHalignRight;
break;
}
xlsheet.Cells(CurX, CurY).WrapText = true;
xlsheet.Cells(CurX, CurY).VerticalAlignment = 2;
xlsheet.Cells(CurX, CurY).Value = v;
xlsheet.Cells(CurX, CurY).Borders.LineStyle = 1;
var rowSpan = cell.getAttribute("RowSpan");
var colSpan = cell.getAttribute("ColSpan");
if ( rowSpan >= 2 || colSpan >= 2 )
{
var R = xls.Range(xls.Cells(CurX, CurY), xls.Cells(CurX + rowSpan - 1, CurY + colSpan - 1));
R.MergeCells = true;
R.Borders.LineStyle = 1;
}
CurY++;
}
CurX++;
CurY = 1;
}
xlsheet.Columns.AutoFit; //自动适应大小
return;
}
ASP.NET的HTMLTable原样导出到Excel
js代码 : function PrintTableToExcelEx(objTab)
{
try
{
var xls = new ActiveXObject( "Excel.Application" );
}
catch(e)
{
alert( "您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。 请点击【帮助】了解浏览器设置方法!");
return false;
}
xls.visible = true;
var xlBook = xls.Workbooks.Add;
var xlsheet = xlBook.Worksheets(1);
var CurX = 1;
var CurY = 1;
for (var i = 0; i < objTab.rows.length; i++)
{
for (var j = 0; j < objTab.rows[i].cells.length; j++)
{
var cell = objTab.rows[i].cells[j];
var v = cell.outerText;
if ( cell.children != null && cell.children.length != 0 )
{
v = "";
for ( var k = 0; k < cell.children.length; k++ )
{
var cc = cell.children[k];
switch (cc.type)
{
case "select-one":
for ( var l = 0; l < cc.options.length; l++ )
if ( cc.options[l].selected ) v += cc.options[l].text;
break;
case "text":
v += cc.value;
break;
case "checkbox":
v += cc.checked ? "是" : "否";
break;
case undefined:
v += cell.outerText;
break;
case "hidden":
break;
default:
//v += cc.id + "/";
//v += cc.tagname + "/";
//v += cc.type + "/"
v += cc.value;
break;
}
}
}
while ( xlsheet.Cells(CurX,CurY).MergeCells ) CurY++;
xlsheet.Cells(CurX, CurY).HorizontalAlignment = 2;
var align = cell.getAttribute("align");
switch ( align )
{
case "left":
xlsheet.Cells(CurX, CurY).HorizontalAlignment = 2;//XlHalign.xlHalignLeft;
break;
case "center":
xlsheet.Cells(CurX, CurY).HorizontalAlignment = 3;;//XlHalign.xlHalignCenter;
break;
case "right":
xlsheet.Cells(CurX, CurY).HorizontalAlignment = 4;//XlHalign.xlHalignRight;
break;
}
xlsheet.Cells(CurX, CurY).WrapText = true;
xlsheet.Cells(CurX, CurY).VerticalAlignment = 2;
xlsheet.Cells(CurX, CurY).Value = v;
xlsheet.Cells(CurX, CurY).Borders.LineStyle = 1;
var rowSpan = cell.getAttribute("RowSpan");
var colSpan = cell.getAttribute("ColSpan");
if ( rowSpan >= 2 || colSpan >= 2 )
{
var R = xls.Range(xls.Cells(CurX, CurY), xls.Cells(CurX + rowSpan - 1, CurY + colSpan - 1));
R.MergeCells = true;
R.Borders.LineStyle = 1;
}
CurY++;
}
CurX++;
CurY = 1;
}
xlsheet.Columns.AutoFit; //自动适应大小
return;
}
相关文章推荐
- asp.net将内容导出到Excel,Table表格数据(html)导出EXCEL
- ASP.net MVC把Html Table导出Excel
- 【ASP.NET】C# 将HTML中Table导出到Excel(TableToExcel)
- asp.net 导出Table到Excel,数字前的加号无法显示的问题
- asp.net table页面内容导出到Excel
- asp.net Html table Render to Excel
- Asp.net导出Excel(HTML输出方法)
- asp.net导出excel-一行代码实现excel、xml、pdf、word、html、csv等7种格式文件导出功能而且美观-SNF快速开发平台
- asp.net mvc html 表格导出excel
- asp.net中通过html格式导出excel文件
- 完整的asp.net 导出table到Excel中
- 导出Excel的方法,传入为table或html!
- Asp.net 2.0 GridView数据导出Excel文件(示例代码下载)
- ASP.NET使用NPOI类库导出Excel
- asp.net 将内容导出EXCEL文件(转)
- ASP.NET 2.0中将 GridView 导出到 Excel 文件中
- asp.net 导出csv,excel
- C# MVC 自学笔记—11 在 ASP.NET MVC 中使用EXCEL导出
- asp.net导出excel文件方法两则
- Asp.net中DataTable导出到Excel的方法介绍