最常见的方式是使用js函数操作excle文件
这种方式可能因浏览器不同
存在兼容性问题
另一种简单方法就是导出一个excel能识别格式的xml文件
用excel打开
复制代码 代码如下:
function getTableDataByXML(inTable
inWindow) {
var rows =
;
//alert("getTblData is " + inWindow);
var tblDocument = document;
if (!!inWindow && inWindow != "") {
if (!document
all(inWindow)) {
return null;
}
else {
tblDocument = eval(inWindow)
document;
}
}
var inTbl = tblDocument
getElementById(inTable);
var outStr = "<?xml version="
"?>n";
outStr = outStr + "<?mso
application progid="Excel
Sheet"?>n";
outStr = outStr + "<Workbook xmlns="urn:schemas
microsoft
com:office:spreadsheet"";
outStr = outStr + " xmlns:o="urn:schemas
microsoft
com:office:office"";
outStr = outStr + " xmlns:x="urn:schemas
microsoft
com:office:excel"";
outStr = outStr + " xmlns:ss="urn:schemas
microsoft
com:office:spreadsheet">n";
outStr = outStr + "<Worksheet ss:Name="Sheet
">n";
outStr = outStr + "<Table ss:ExpandedColumnCount="
">n";
var re = /^[
]+
?[
]*$/; //是否为数字
if (inTbl != null) {
for (var j =
; j < inTbl
rows
length; j++) {
outStr += "<Row ss:AutoFitHeight="
">n";
for (var i =
; i < inTbl
rows[j]
cells
length; i++) {
if (i ==
&& rows >
) {
outStr += "<Cell><Data ss:Type="String"></Data></Cell>n";
rows
=
;
}
var cellValue = inTbl
rows[j]
cells[i]
innerText;
//小于
位数字用Number
if(re
test(cellValue) && (new String(cellValue))
length <
){
outStr = outStr + "<Cell><Data ss:Type="Number">" + cellValue + "</Data></Cell>n";
}else{
outStr = outStr + "<Cell><Data ss:Type="String">" + cellValue + "</Data></Cell>n";
}
if (inTbl
rows[j]
cells[i]
colSpan >
) {
for (var k =
; k < inTbl
rows[j]
cells[i]
colSpan
; k++) {
outStr += " <Cell><Data ss:Type="String"></Data></Cell>n";
}
}
if (i ==
) {
if (rows ==
&& inTbl
rows[j]
cells[i]
rowSpan >
) {
rows = inTbl
rows[j]
cells[i]
rowSpan
;
}
}
}
outStr += "</Row>n";
}
}
else {
outStr = null;
alert("你要导出的表不存在!!");
return;
}
outStr = outStr + "</Table>n</Worksheet>n</Workbook>";
return outStr;
}
上述函数原本是导出txt文件的函数把excel文件另存为一个xml文件就可得到excel能识别什么内容格式的xml文件