表格嵌套表格,如何使用JS导入Excel中?求解

he_tego 2011-06-01 05:35:24

<table cellspacing="0" cellpadding="0" width="100%" id="PrintA">
<tr valign="top">
<td width="100%" colspan="7">
<table width="100%" style="border:solid 1px;" id="PrintB">
<tr style="line-height: 28px; background-color: #CFD4E2; font-weight:bold;">
<td style="width: 12%; text-align: center;">
性别
</td>
<td style="width: 12%; text-align: center;">
百分比
</td>
<td style="width: 12%; text-align: center;">
60-64岁
</td>
<td style="width:12%; text-align: center;">
65-69岁
</td>
<td style="width: 12%; text-align: center;">
70-74岁
</td>
<td style="width: 12%; text-align: center;">
75-79岁
</td>
<td style="width: 12%; text-align: center;">
80岁及以上
</td>
<td style="width: 12%; text-align: center;">
合计
</td>


</tr>
</table>
</td>
</tr>




<tr valign="top" >
<td width="100%" colspan="7" id="manflag">
<table width="100%" style="border:solid 1px;" id="PrintC">
<tr style="line-height: 24px; background-color: #CFD4E2; " >
<td style="width: 12%; text-align: center;font-weight:bold;" rowspan="4">

</td>

<td style="width: 12%; text-align: left;font-weight:bold;">
计数
</td>
<td style="width:12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount1">4</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount2">5</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount3">2</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount4">4</span>
</td>


<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount5">3</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount6">18</span>
</td>



</tr>

<tr style="line-height: 24px; background-color: #CFD4E2; ">

<td style="width: 12%; text-align: left;font-weight:bold;">
行百分比

</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent1">22.22%</span>
</td>
<td style="width:12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent2">27.78%</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent3">11.11%</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent4">22.22%</span>
</td>

<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent5">16.67%</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent6">100.00%</span>
</td>

</tr>
<tr style="line-height: 24px; background-color: #CFD4E2; ">

<td style="width: 12%; text-align: left;font-weight:bold;">
列百分比

</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent1">100.00%</span>
</td>
<td style="width:12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent2">62.50%</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent3">66.67%</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent4">66.67%</span>
</td>

<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent5">60.00%</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent6">69.23%</span>
</td>


</tr>

<tr style="line-height: 24px; background-color: #CFD4E2; ">

<td style="width: 12%; text-align: left;font-weight:bold;">
总和百分比

</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent1">15.38%</span>
</td>
<td style="width:12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent2">19.23%</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent3">7.69%</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent4">15.38%</span>
</td>

<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent5">11.54%</span>
</td>
<td style="width: 12%; text-align: center;">
<span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent6">69.23%</span>
</td>


</tr>




</table>
</td>
</tr>
</tr>

</table>
</td>
</tr>

</table>




省略了一些代码,基本上是3个表格嵌套一起,而且还有跨行,求解。而且最好很详细。网页上面那个复杂表格导入EXCEL也不行。
...全文
476 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
失去乐山贼 2011-06-07
  • 打赏
  • 举报
回复
- -,LZ威武。
he_tego 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gefangliang 的回复:]

C# code

当前位置: 首页 > 软件开发 > Web开发 > JavaScript > javascript导入EXCEL数据 时间:2008-08-25 21:09来源: 点击:998 次以前读书的时候绝不会想到会用客户端脚本来实现这些功能,现在却一开始就要用上了,而且还觉得挺实用的。 参考《Windows脚本技术》,应该会有一点收获。<html xmlns="http://www……
[/Quote]


是我没有说明白吗?
我是将这个table导入到EXCEL中去,不是excel导入到table中来。。 全部都是导入到表格中来。我晕了。
心灵彩虹 2011-06-01
  • 打赏
  • 举报
回复

当前位置: 首页 > 软件开发 > Web开发 > JavaScript > javascript导入EXCEL数据 时间:2008-08-25 21:09来源: 点击:998 次以前读书的时候绝不会想到会用客户端脚本来实现这些功能,现在却一开始就要用上了,而且还觉得挺实用的。 参考《Windows脚本技术》,应该会有一点收获。<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<script language="javascript" type="text/javascript">
function importXLS(fileName)
{
objCon = new ActiveXObject("ADODB.Connection");
objCon.Provider = "Microsoft.Jet.OLEDB.4.0";
objCon.ConnectionString = "Data Source=" + fileName + ";Extended Properties=Excel 8.0;";
objCon.CursorLocation = 1;
objCon.Open;
var strQuery;
//Get the SheetName
var strSheetName = "Sheet1$";
var rsTemp = new ActiveXObject("ADODB.Recordset");
rsTemp = objCon.OpenSchema(20);
if(!rsTemp.EOF)
strSheetName = rsTemp.Fields("Table_Name").Value;
rsTemp = null
rsExcel = new ActiveXObject("ADODB.Recordset");
strQuery = "SELECT * FROM [" + strSheetName + "]";
rsExcel.ActiveConnection = objCon;
rsExcel.Open(strQuery);
while(!rsExcel.EOF)
{
for(i = 0;i<rsExcel.Fields.Count;++i)
{
alert(rsExcel.Fields(i).value);
}
rsExcel.MoveNext;
}
// Close the connection and dispose the file
objCon.Close;
objCon =null;
rsExcel = null;
}
</script>
</head>
<body>
<input type="file" id="f" />
<input type="button" id="b" value="import" onclick="if(f.value=='')alert('请选择xls文件');else importXLS(f.value)" />
</body>
</html>trackback:http://hi.baidu.com/netcorner/blog/item/4c35a818788f670635fa41d3.html通过Javascript操作Excel
function AutomateExcel()
{

// Start Excel and get Application object.
var oXL = new ActiveXObject("Excel.Application");

oXL.Visible = true;

// Get a new workbook.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;

// Add table headers going cell by cell.
oSheet.Cells(1, 1).Value = "First Name";
oSheet.Cells(1, 2).Value = "Last Name";
oSheet.Cells(1, 3).Value = "Full Name";
oSheet.Cells(1, 4).Value = "Salary";

// Format A1:D1 as bold, vertical alignment = center.
oSheet.Range("A1", "D1").Font.Bold = true;
oSheet.Range("A1", "D1").VerticalAlignment = -4108; //xlVAlignCenter

// Create an array to set multiple values at once.

// Fill A2:B6 with an array of values (from VBScript).
oSheet.Range("A2", "B6").Value = CreateNamesArray();

// Fill C2:C6 with a relative formula (=A2 & " " & B2).
var oRng = oSheet.Range("C2", "C6");
oRng.Formula = "=A2 & \" \" & B2";

// Fill D2:D6 with a formula(=RAND()*100000) and apply format.
oRng = oSheet.Range("D2", "D6");
oRng.Formula = "=RAND()*100000";
oRng.NumberFormat = "$0.00";

// AutoFit columns A:D.
oRng = oSheet.Range("A1", "D1");
oRng.EntireColumn.AutoFit();

// Manipulate a variable number of columns for Quarterly Sales Data.
DispalyQuarterlySales(oSheet);

// Make sure Excel is visible and give the user control
// of Excel's lifetime.
oXL.Visible = true;
oXL.UserControl = true;
}<HTML>
<HEAD>
<TITLE>将页面中指定表格的数据导入到Excel中</TITLE>
<SCRIPT LANGUAGE="javascript">
<!--
function AutomateExcel()
{

var oXL = new ActiveXObject("Excel.Application"); //创建应该对象
var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
var table = document.all.data;//指定要写入的数据源的id
var hang = table.rows.length;//取数据源行数
var lie = table.rows(0).cells.length;//取数据源列数

// Add table headers going cell by cell.
for (i=0;i<hang;i++){//在Excel中写行
for (j=0;j<lie;j++){//在Excel中写列
//定义格式
oSheet.Cells(i+1,j+1).NumberFormatLocal = "@";
//!!!!!!!上面这一句是将单元格的格式定义为文本
oSheet.Cells(i+1,j+1).Font.Bold = true;//加粗
oSheet.Cells(i+1,j+1).Font.Size = 10;//字体大小
oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;//向单元格写入值
}
}
oXL.Visible = true;
oXL.UserControl = true;
}
//-->
</SCRIPT>
ilooknow 2011-06-01
  • 打赏
  • 举报
回复
楼上的代码虽然可以实现功能,但条件太苛刻,很多机器都不行,或需要更改安全设置才行。
其实只需用JS遍历表格,生成execel文本格式的字符串再保持即可。
子夜__ 2011-06-01
  • 打赏
  • 举报
回复
function importXLS(fileName)
{
try{
objCon = new ActiveXObject("ADODB.Connection");
objCon.Provider = "Microsoft.Jet.OLEDB.4.0";
objCon.ConnectionString = "Data Source=" + fileName + ";Extended Properties=Excel 8.0;";
objCon.CursorLocation = 1;
objCon.Open;
var strQuery;
//Get the SheetName
var strSheetName = "Sheet1$";
var rsTemp = new ActiveXObject("ADODB.Recordset");
rsTemp = objCon.OpenSchema(20);
if(!rsTemp.EOF)
strSheetName = rsTemp.Fields("Table_Name").Value;
rsTemp = null
rsExcel = new ActiveXObject("ADODB.Recordset");
strQuery = "SELECT * FROM [" + strSheetName + "]";
rsExcel.ActiveConnection = objCon;
rsExcel.Open(strQuery);
if(rsExcel.Fields.Count!=4){
alert('文件不规范,请点击EXCEL模板查看');
objCon.Close;
objCon =null;
rsExcel = null;
return;
}
while(!rsExcel.EOF)
{
addrow(rsExcel.Fields(0).value,rsExcel.Fields(1).value,rsExcel.Fields(2).value,rsExcel.Fields(3).value);
rsExcel.MoveNext;
}
// Close the connection and dispose the file
objCon.Close;
objCon =null;
rsExcel = null;
}
catch(e){
alert("文件格式不对或没有安装EXCEL或浏览器没有权限,\r\n请安装EXCEL并且允许使用ActiveX控件[建议把本网站设置为信任站点]!");
}
}



JS导出excel

62,050

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧