如何将HTML中表格转换为EXCEL

njtucomputer 2005-05-26 10:19:49
现在在HTML中有个表格,可以通过javascript得到表格的数据,但现在需要用户点击按钮后保存为EXCEL,怎么实现呢

在记事本里保存HTML通过改文件后缀可以直接转换为EXCEL,实现上面应该不难吧,最好有相关的例子,谢谢!
...全文
276 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
BILLSJONE 2005-05-27
  • 打赏
  • 举报
回复
===========================================================================
<script language="javascript">
function exportExcel(atblData,pathname){
if (typeof(EXPORT_OBJECT)!="object"){
document.body.insertAdjacentHTML("afterBegin","<OBJECT style='display:none' classid=clsid:0002E510-0000-0000-C000-000000000046 id=EXPORT_OBJECT></Object>");
}
with (EXPORT_OBJECT){
DataType = "HTMLData";
HTMLData =atblData.outerHTML;
try{
ActiveSheet.Export(pathname, 0);
alert('輸出完成!');
}
catch (e){
alert('導出Excel表失敗,确定已安裝Excel2000(或更高版本),并且沒打開同名xls文件');//
//}
}
}
}
</script>
====================================================================
按扭:
<input name="button" type="button" onClick="javascript:exportExcel(table2,'D:\\aa.xls');" value="輸出XLS文件到(D:\aa.xls)">
===================================================================

說明:table2為表格的ID名。就是將叫table2的表格輸出為excel文件。如:
<table id=table2 width="98%" border="1">

HHH3000 2005-05-26
  • 打赏
  • 举报
回复
最简单的办法:

严格用table控制欲生成execl的表格,
然后把代码保存在一个变量中,
最后用fso直接保存成.xls就可以了
fantiny 2005-05-26
  • 打赏
  • 举报
回复
方法二
----
<TABLE id=tb WIDTH=75% BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR>
<TD>01</TD>
<TD>二</TD>
<TD>三</TD>
</TR>
<TR>
<TD rowspan=3>四</TD>
<TD>五</TD>
<TD>六</TD>
</TR>
<TR>
<TD>七</TD>
<TD>八</TD>
</TR>
<TR>
<TD>九</TD>
<TD>一○</TD>
</TR>
<TR>
<TD>一一</TD>
<TD>一二</TD>
<TD>一三</TD>
</TR>
</TABLE>
<INPUT type="button" value="Button" id=button1 name=button1 onclick="vbs:AutomateExcel">
<SCRIPT LANGUAGE=vbs>

sub AutomateExcel()
set oXL = createobject("Excel.Application")
set oWB = oXL.Workbooks.Add
set oSheet = oWB.ActiveSheet
hang = tb.rows.length
lie = tb.rows(0).cells.length
'前?行
for i=0 to 1
for j=0 to lie-1
oSheet.Cells(i+1,j+1).NumberFormatLocal = "@"
oSheet.Cells(i+1,j+1).value = tb.rows(i).cells(j).innerText
next
next
'3行?始的中?行
for i=2 to hang-2
j=1
for each c in tb.rows(i).cells
'msgbox c.innerText
oSheet.Cells(i+1,j+1).value = c.innerText
j=j+1
next
next
'最后行
for j=0 to lie-1
oSheet.Cells(hang,j+1).value = tb.rows(i).cells(j).innerText
next
oSheet.range("A2:A"& hang-1 ).merge
oSheet.range("A2:A"& hang-1 ).value=tb.rows(1).cells(0).innerText
oXL.Visible = true
oXL.UserControl = true
set oXL = nothing
set oWB = nothing
set oSheet = nothing

end sub
</SCRIPT >
fantiny 2005-05-26
  • 打赏
  • 举报
回复
方法一
----------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns:x="urn:schemas-microsoft-com:office:excel">
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY id="mybody">
<TABLE id=tb WIDTH=75% BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR>
<TD>一</TD>
<TD>二</TD>
<TD>三</TD>
</TR>
<TR>
<TD rowspan=3>四</TD>
<TD>五</TD>
<TD>六</TD>
</TR>
<TR>
<TD>七</TD>
<TD>八</TD>
</TR>
<TR>
<TD>九</TD>
<TD>一○</TD>
</TR>
<TR>
<TD>一一</TD>
<TD>一二</TD>
<TD>一三</TD>
</TR>
</TABLE>
<p> </p>
<TABLE border=1>
<TR>
<TD x:num>00123</TD>
<TD x:str>0123</TD>
</TR>
<TR>
<TD x:str>00234</TD>
<TD x:str>345.000</TD>
</TR>
</TABLE>
<p> </p>
<table width="100%" border="2" cellspacing="0" cellpadding="0" border=1 x:str>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>000011</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td colspan="2" rowspan="5">1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td rowspan="5">1</td>
<td>1</td>
</tr>
<tr>
<td><table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
</table></td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>000011</td>
<td> </td>
</tr>
<tr>
<td>000011</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>000011</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>000011</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>000011</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td colspan="2" rowspan="4" bgcolor="#FFCC00">1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td height="93" bgcolor="#00CC33">1</td>
<td bgcolor="#00CC33">1</td>
<td>1</td>
</tr>
<tr>
<td bgcolor="#00CC33">000011</td>
<td bgcolor="#00CC33">1</td>
<td>1</td>
</tr>
<tr>
<td bgcolor="#00CC33">1</td>
<td bgcolor="#00CC33">1</td>
<td bgcolor="#00CC33">1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td bgcolor="#00CC33">1</td>
<td bgcolor="#00CC33">1</td>
<td bgcolor="#00CC33">1</td>
<td>000011</td>
<td>1</td>
</tr>
<tr>
<td bgcolor="#00CC33">1</td>
<td bgcolor="#00CC33">1</td>
<td bgcolor="#00CC33">1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>000011</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td colspan="4" rowspan="10">1</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>000011</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>000011</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>000011</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>000011</td>
<td>1</td>
</tr>
<tr>
<td bgcolor="#FF0000">1</td>
<td bgcolor="#FF0000">1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td bgcolor="#FF0000">1</td>
<td bgcolor="#FF0000">1</td>
<td>000011</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td bgcolor="#FF0000">1</td>
<td bgcolor="#FF0000">1</td>
<td>1</td>
<td>1</td>
<td>000011</td>
</tr>
<tr>
<td bgcolor="#FF0000">1</td>
<td bgcolor="#FF0000">1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td bgcolor="#FF0000">1</td>
<td bgcolor="#FF0000">1</td>
<td>000011</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td bgcolor="#FF0000">1</td>
<td bgcolor="#FF0000">1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td bgcolor="#FF0000">000011</td>
<td bgcolor="#FF0000">1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td> </td>
<td>000011</td>
<td bgcolor="#CC0000">1</td>
<td bgcolor="#CC0000">1</td>
<td> </td>
</tr>
<tr>
<td>1</td>
<td>000011</td>
<td bgcolor="#CC0000">1</td>
<td bgcolor="#CC0000">1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td bgcolor="#CC0000">1</td>
<td bgcolor="#CC0000">1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td bgcolor="#CC0000">1</td>
<td bgcolor="#CC0000">1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td bgcolor="#CC0000">1</td>
<td bgcolor="#CC0000">1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td bgcolor="#CC0000">1</td>
<td bgcolor="#CC0000">1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>0000111</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>000011</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>0000110000111</td>
<td>0000111</td>
<td>0000111</td>
<td>0000111</td>
<td>000011</td>
</tr>
</table>
<p>
<INPUT type="button" value="Button" id=button1 name=button1 onclick="vbs:AutomateExcel">
</p>
</BODY>
</HTML>
<SCRIPT LANGUAGE=vbs>

sub AutomateExcel()

strCopy = mybody.innerHTML

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
objIE.document.parentwindow.clipboardData.SetData "text", strCopy
objIE.Quit

set oXL = createobject("Excel.Application")
set oWB = oXL.Workbooks.Add
set oSheet = oWB.ActiveSheet
oSheet.Paste

oXL.Visible = true
oXL.UserControl = true
set oXL = nothing
set oWB = nothing
set oSheet = nothing

end sub
</SCRIPT>
【课程内容】所涉及的具体内容包括输入录入技巧、排序、筛选、函数公式、数据透视表、图表、汇总等功能应用,并结合大量的企业应用实例,以互动的方式将解决思路和操作过程逐一呈现。【课程特点】1、190节大容量课程:包含了Excel软件的大部分知识点;2、创新的教学模式:手把手教您电子表格,一看就懂,一学就会;3、完美贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;4、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间;5、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索;【互动教程的特点】•互动性-首创互动式学习,不同于以往的任何一种学习方式,不看视频不看书,轻松,高效,好玩-手把手教学,一步步引导操作,实时看到效果,就像自己在操作一样,信心满满-即点即学,课程内可根据自己的需要,随时调整界面上方进度条,重复操作,加强记忆-强大的学习跟踪系统,对整体学习进度一目了然,及时调整学习计划,查疑补漏•人性化-界面设计简洁,操作简单,没有繁琐的按钮,一点就可直接进入学习状态-贴心小提示,读懂你的小心思,零基础快速入门,学习无压力,不尴尬-超多原理解析,疑问解答,如同专业Excel导师亲身指导,不翻书快速记忆,Excel小白迅速成长•实用性-课程由浅入深,操作过程详细剖析,一步步模仿,马上就会做。-涉及排序、筛选、函数公式、数据透视表、图表、汇总等核心功能的课程编排,通俗易懂不头疼-互动+观看视频,两种学习方式切换,上班路上,地铁里享受随时随地自由学习通过本课程的学习,您将逐步掌握Excel 2016的各项功能和使用技巧。从而提高您的办公效率,早做完,不加班!!!

61,115

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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