欢迎来到山村网

ASP.NET的HTMLTable原样导出到Excel

2019-03-28 23:30:54浏览:442 来源:山村网   
核心摘要:  function PrintTableToExcelEx(objTab)  ...{  try  ...{  var xls = new ActiveXObject( Excel.Application );  

  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;
}

  调用:

<INPUT style="WIDTH: 107px" onclick="javascript:PrintTableToExcelEx(Table1)" type="button" value="导 出" class="input">

(责任编辑:豆豆)
下一篇:

HTML的常用标签:超级连接标签A

上一篇:

PHP将XML映射为HTML的代码实例

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com