网页中很多地方会用到【导出到Excel】这个功能,方法有很多:

1. Html 中的table导出到Excel

<script language="javascript">
function
ToExcel(id){
try{
var table;
table = window.frames[id].InforTable;
var hang = table.rows.length;
var lie = table.rows(0).cells.length;
var oXL = new ActiveXObject("Excel.Application");
oXL.Visible = true;
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
// Add table headers going cell by cell.
for (i = 0; i < hang; i++) {
lie = table.rows(i).cells.length; //这种情况是每一行单元格数不一样的时候
for (j = 0; j < lie; j++) {
oSheet.Cells(i + 1, j + 1).value = table.rows(i).cells(j).innerText;
}
}
oSheet.ptintout;
oXL.UserControl = true;
}
catch (e) {
alert("浏览器安全性太高或禁止了弹出的ActiveX请求");
}
}
</script>

2.利用OWC导出Excel

3.一个简单的html页面,就像下面这个

<html>
<
body>
<
table>
<
tr>
<
td>Cell1</td><td>Cell2</td>
</
tr>
<
tr>
<
td>Cell3</td><td>Cell4</td>
</
tr>
</
table>
</
body>
</
html>

     将上面这个保存成txt,然后将扩展名修改为“xls”,再打开看时已经正常显示在Excel中,这样我们又有了一个方法,通过拼一个html的串,写入.xls扩展名的文件,这样就生成了一个Excel,而不受是否安装了Office的限制。当然,你也可以直接在页面的顶端加上(下面的代码是asp的)

Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "inline; filename=abc.xls"

     这样,当你打开这个界面的时候就会提示你是否保存,省去了些文件的麻烦。不过你也发现了它的美中不足,导出的Excel样式和平时直接在Excel中写的不一样。下面就介绍今天的重头戏,下面是一段xml,将它保存到txt,修改后缀名,就成了一个更高级一点的Excel,至少相对于前面的方法更高级。

    先对其中各个元素的作用进行一下解释:

Workbook工作簿  DocumentProperties文档属性  ExcelWorkbook Excel工作簿  Styles 格式    Style格式  Worksheet工作表    Tables表格    Row行

Cell单元          Data数据    WorksheetOptions工作表选项      Print打印        ValidPrinterInfo 有效打印机信息        HorizontalResolution 水平解决方案

VerticalResolution 垂直解决方案    Selected 被选中    Panes 面      Pane 面        Number 数字        ActiveRow 激活行

LeftColumnVisible 默认左边隐藏的列数          ExpandedRowCount 行数(值要大于等于下面是用的值)

  现在已经有很多值不起作用了,至少在office2007中已经不起作用,通过下面的xml和刚才可以输出文档的头,就能做出一个更加完美的导出Excel。

 

<?xml version="1.0"?>
<?
mso-application prog>>

注意:使用上面这个xml时最好指明编码方式为gb2312,否则容易出莫名其妙的错误!

本来想好好整理一下的,感觉有点懒,先放上来吧,下面引用的地方还有很多有意义的东西,如果谁用到可以好好的读一下。

感谢:

http://en.wikipedia.org/wiki/Microsoft_Office_XML_formats

http://msdn.microsoft.com/en-us/library/bb226687%28office.11%29.aspx

http://www.oschina.net/discuss/thread/2431

相关文章:

  • 2022-12-23
  • 2021-06-10
  • 2021-09-18
  • 2021-06-01
  • 2021-12-21
  • 2021-10-01
  • 2022-01-11
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-23
  • 2021-07-25
  • 2022-12-23
相关资源
相似解决方案