简单的办法:使用js生成一个table,可以直接复制到excel中,网上有很多表格插件。
复杂的办法:js传递数据到服务器,服务器生成表格后返回一个下载链接。
㈡ 如何用js导出数据Excel
(function ($) {
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
$.fn.ExportExcel = function (thread_id,tab_id, options) {
var defaults = {
height: '24px',
'line-height': '24px',
margin: '0 5px',
padding: '0 11px',
color: '#000',
background: '#02bafa',
border: '1px #26bbdb solid',
'border-radius': '3px',
/*color: #fff;*/
display: 'inline-block',
'text-decoration': 'none',
'font-size': '12px',
outline: 'none',
cursor: 'pointer'
}
var options = $.extend(defaults, options);
return this.each(function () {
var currentObject = $(this); //获取当前对象
currentObject.css(defaults);
currentObject.onmouseover = function () {
$(this).css('cursor', 'hand');
};
currentObject.click(function () {
//From:jsfiddle.net/h42y4ke2/16/
var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';
tab_text = tab_text + '<x:Name>Test Sheet</x:Name>';
tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';
tab_text = tab_text + "<table border='1px'>";
tab_text = tab_text + $('#' + thread_id).html();
tab_text = tab_text + $('#' + tab_id).html();
tab_text = tab_text + '</table></body></html>';
var data_type = 'data:application/vnd.ms-excel';
var timeStr = new Date().Format('yyyyMMddhhmmss');
$(this).attr('href', data_type + ', ' + encodeURIComponent(tab_text));
$(this).attr('download', '日常数据报表' + timeStr + '.xls');
});
})
}
})(jQuery);
<html>
<a href="#" id="export">导出</a>
<table>
<thead id="theadDate">
<tr>
<th>姓名</th>
<th>班级</th>
<th>年龄</th>
</tr>
</thead>
<tbody id="tbodyDate">
<tr> <td>张三</td>
<td>高二</td>
<td>18</td>
</tr>
<tr>
<td>李四</td>
<td>高三</td>
<td>20</td>
</tr>
</tbody>
</table>
<script src="assets/javascripts/autotest/export-excel.js" ></script><!-- 引入js文件-->
<script type="text/javascript">
//导出 调用
$(function () {
$('#export').ExportExcel('theadDate','tbodyDate'); //tbodyDate为table的id,export为a标签。
});
</script>
</html>
㈢ 如何将html文件导出到excel
一、工具/原料
电脑
浏览器
Excel 2007
二、方法/步骤
(1)打开网络上的一个包含表格内容的页面,点击菜单栏-文件-另存为。
注意:请保持联网状态操作。
㈣ js导出html中table表格为Excel表格 如何兼容各个浏览器
function method1() {//整个表格拷贝到EXCEL中 var curTbl = document.getElementById("hgreport1MngTb"); var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel var oWB = oXL.Workbooks.A
㈤ jq怎么把html中的table内的内容导出到excel
用现成的组件:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="src/jquery.table2excel.js"></script>
点击button开始导出:
$("button").click(function(){
$("#table2excel").table2excel({
exclude: ".noExl",
name: "Worksheet Name",
filename: "SomeFile"
});
});
下载:ort-Html-Table-To-Excel-Spreadsheet-using-jQuery-table2excel.zip
㈥ html怎么把导入excel
1. 用js或jq怎么把html图片插入excel中
其实就是js导出文件或文本到Excel中,js有自己封装的Excel对象var excel = new ActiveXObject("Excel.Application"); 创建Excel对象 var a = excel.Workbooks.Add(); 新建Excel var b = a.ActiveSheet; 建表 for(){for(){b.Cells(指定行).Select();指定哪一行b.Pictures.Insert(页面上的位置).getElementsByTagName('img').src);获取图片插入进去}}我以前写的大致是这个思路,并不完整,自己去查资料慢慢整理一下。
2. html表格中加入图片 怎么在表格中加入图片
添加方法如下:
1、table里添加图片可以使用img标签实现或者使用css的背景图片是实现,代码如下:
<table><tr><td><img src=xx.></td></tr></table>
css实现如下:
<table><tr><td class="page_speeder_952418209"></td></tr></table>
图片均是设置在td标签中。
2、文字也是需要写到td标签中间,如下:
<table><tr><td>;文字</td></tr></table>
3. 怎么把html导出到excel表格
把html导出成txt文件,然后再把txt文件导入Excel:
1、首先,打开excel,选择数据选项卡,自文本选项。
2、在弹出的资源管理器界面选择存放好的txt文件后,点击打开按钮。
3、此时弹出文本导入向导,由于我的数字是以空格为分隔字符的,所以我选择分隔符号,当然,如果你的文本是固定宽度,你可以选择第二个。然后点击下一步按钮。
4、勾选空格,检验预览数据是否和自己预想的一致。一致后继续点击下一步按钮。
5、查看预览效果。并选择列数据格式,此处没什么特别要求,建议选择常规,常规也是excel默认的格式。点击完成。
6、在弹出的对话框中,选中要导入的数据区域,此处我要导入到当前单元格,并且从a1单元格开始,因此我选择a1单元格,多余的数据会自动以此单元格向两边张开。点击确定按钮
我们的数据就算是完美的导入进来了。
4. html怎么导入excel文件
先进入Excel表格,然后选中需要棚备伏导入到Word文档中的区域,按下 Ctrl+C 复制;
打开Word,然后选择菜单栏的“编辑”中的“选择性粘贴”,在“形式”下面选中“Microsoft Office Excel 工作表 对象”然后确定;
此时,就已经把编辑好的Excel表格导入到Word中滚轿了,有的人这时肯定会说,这还不是和Word中表格没什么却别啊!确实,就这样用肉眼看,根本就看不错这个表格和Word中做的表格有什么不一样之处;
区别肯定是有的,不信你双击表格看看,会是什么效果,没错把,导入的表格和Excel中的表格一模一样,当然,这个表格也可以自由拖动它的长和宽,还可以运用Excel中的公式呢链携!
5. 怎么把html文件转成excel
1、首先,我们打开要转换成THML的表格文件。(以下是我用的WPS2019版本的截图,EXCEL软件操作上差不多。)
2、接下来,点击左上角的【文件】
3、在【文件】菜单里找到并点击【另存为】
4、默认另存为的路径是【我的文档】,如需要修改,可自行选择保存的位置。我习惯将新文件保存到桌面,所以我选择【桌面】
5、最重要的一步来啦!【文件类型】这个地方,默认是EXCEL文件,我们选择【网页文件】
6、然后需要修改文件名的,可以修改一下,后缀可以使用或,以下是我修改的index
7、最后一步,点击【保存】就完成了,这下,我们找到并打开保存的网页文件,看看效果如何。
6. JavaScript能将页面中的图片导出到excel中吗
只要网页能显示图片,就能导出到EXCEL <!--把table的ID传过去就好了-->
你的table 在IE浏览器里工具-》inter选项-》安全-》自定义级别-》把你禁用的都打开。
㈦ 如何将html文件导出到excel
一、工具/原料
电脑
浏览器
Excel
2007
二、方法/步骤
(1)打开网络上的一个包含表格内容的页面,点击菜单栏-文件-另存为。
(2)弹出窗口选择保存路径,将保存类型选为“htm
或Html格式”。
(3)在计算机上新建一个Excel文件并打开,点击菜单栏-数据-导入外部数据-导入数据。
(4)找到刚才保存的“Html”单击打开,再单击“导入”。
(5)在弹出的“导入数据”窗口中你可以选择“现有工作表”或者“新建工作表”,然后单击确定。
注意:请保持联网状态操作。
㈧ 如何把html导出到excel
1、单击数据--导入外部数据--新建Web查询。
2、伍亮勾选我可以识别此者橘段内容,允许播放,单击继续按钮。
3、在地址栏输入网站地址,转到此网站首誉里面。
4、跳转到指定网页,点击箭头按钮,然后导入数据到Excel。
Excel表格生成数据,至此完成全部过程。
㈨ js 导出大数据到excel
完整代码:
//导出excelfunction tableToExcel(){
var arrSor = ["sorttable10","sorttable30","sorttable60","sorttable120"]
let str = "";
for (var k = 0; k < arrSor.length; k++) {
var tab=document.getElementById(arrSor[k]);
var rows=tab.rows;
const jsonData = [];
for(var i=2;i<rows.length;i++){ //遍历表格的行
var json = {};
for(var j=0;j<rows[i].cells.length;j++){ //遍历每行的列
json[(i+1)+"-"+(j+1)] = rows[i].cells[j].innerHTML;
}
jsonData.push(json);
}
//列标题
let str1 = "<tr><td align='center' colspan='5'><b>最大"+arrSor[k].substring(9,arrSor[k].length)+"分钟雨量</b></td></tr>";
let str2 = "<tr align='center'><th>站点</th><th>站名</th><th>雨量最大值</th><th>降水时段</th><th>落入最大降水时段</th></tr>";
//循环遍历,每行加入tr标签,每个单元格加td标签
for(let i = 0 ; i < jsonData.length ; i++ ){
str2+='<tr>';
for(let item in jsonData[i]){
//增加\t为了不让表格显示科学计数法或者其他格式
var itemTem= jsonData[i][item];
if (itemTem == "暂无数据") {
str2+=`<td colspan='5' align='center'>${ itemTem + '\t'}</td>`;
}else {
str2+=`<td align='center'>${ itemTem + '\t'}</td>`;
}
}
str2+='</tr>';
}
let str3 = "<tr><td colspan='5'></td></tr>";
str += (str1 + str2 + str3);
}
let worksheet = '雨量最大值'
let uri = 'data:application/vnd.ms-excel;base64,';
//下载的表格模板数据
let template = `<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset='UTF-8'><!--[if gte mso 9]><xml>
<x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
<x:Name>${worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
<style type="text/css">
table {border: 1px solid #000000;}
table tr td b {background:#FFFFFF;color:#3D3D3D;font-size:24px;border: 1px solid #000000;}
table th {background:#AEE1FE;color:#3D3D3D;font-size:20px;border: 1px solid #000000;}
table td {background:#FFFFFF;color:#3D3D3D;font-size:20px;border: 1px solid #000000;}</style>
</head><body><table>${str}</table></body></html>`;
//下载模板
// window.location.href = uri + this.base64(template)
var link = document.createElement("a");
link.href = uri + this.base64(template);
link.download = "雨量最大值-" +new Date().format("yyyy年MM月dd日 h时")+ ".xls";
link.style = "visibility:hidden";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);}//输出base64编码function base64 (template) {
return window.btoa(unescape(encodeURIComponent(template))) }
解析:
遍历取出表,顺序是行从上往下,列从左往右,将数据存进数组,下面再拼接成表。
image.png
参考文章:https://blog.csdn.net/hhzzcc_/article/details/80419396
第一种方法(大量数据导出)
//导出excelfunction tableToExcel() {
var arrSor = ["sorttable10","sorttable30","sorttable60","sorttable120"]
let str = "";
for (var k = 0; k < arrSor.length; k++) {
var tab=document.getElementById(arrSor[k]);
var rows=tab.rows;
const jsonData = [];
for(var i=2;i<rows.length;i++){ //遍历表格的行
var json = {};
for(var j=0;j<rows[i].cells.length;j++){ //遍历每行的列
if (rows[i].cells[j].outerHTML.indexOf("rgb(255, 255, 0)") != -1) {
json["yellow"+(i+1)+"-"+(j+1)] = rows[i].cells[j].innerHTML;
}else {
json[(i+1)+"-"+(j+1)] = rows[i].cells[j].innerHTML;
}
}
jsonData.push(json);
}
//列标题
let str1 = "<tr><td colspan='5' align='center' style='background-color:#FFFFFF;font-size:24px;border: 1px solid #000000;'><b>最大"
+arrSor[k].substring(9,arrSor[k].length)+"分钟雨量</b></td></tr>";
let str2 = "<tr>" +
"<th style='background-color:#AEE1FE;font-size:22px;border: 1px solid #000000;' align='center'>站点</th>" +
"<th style='background-color:#AEE1FE;font-size:22px;border: 1px solid #000000;' align='center'>站名</th>" +
"<th style='background-color:#AEE1FE;font-size:22px;border: 1px solid #000000;' align='center'>雨量最大值</th>" +
"<th style='background-color:#AEE1FE;font-size:22px;border: 1px solid #000000;' align='center'>降水时段</th>" +
"<th style='background-color:#AEE1FE;font-size:22px;border: 1px solid #000000;' align='center'>落入最大降水时段</th></tr>";
//循环遍历,每行加入tr标签,每个单元格加td标签
for(let i = 0 ; i < jsonData.length ; i++ ){
str2+="<tr align='center'>";
for(let item in jsonData[i]){
if (item.indexOf("yellow") != -1) {//取列数等于3
//增加\t为了不让表格显示科学计数法或者其他格式
var itemTem= jsonData[i][item];
if (itemTem == "暂无数据") {
str2+=`<td colspan='5' style='background-color:#FFFF00;font-size:22px;border: 1px solid #000000;'> ${ itemTem + '\t'}</td>`;
}else {
str2+=`<td style='background-color:#FFFF00;font-size:22px;border: 1px solid #000000;'> ${ itemTem + '\t'}</td>`;
}
}else {
//增加\t为了不让表格显示科学计数法或者其他格式
var itemTem= jsonData[i][item];
if (itemTem == "暂无数据") {
str2+=`<td colspan='5' style='background-color:#FFFFFF;font-size:22px;border: 1px solid #000000;'> ${ itemTem + '\t'}</td>`;
}else {
str2+=`<td style='background-color:#FFFFFF;font-size:22px;border: 1px solid #000000;'> ${ itemTem + '\t'}</td>`;
}
}
}
str2+='</tr>';
}
let str3 = "<tr><td colspan='5' style='background-color:#FFFFFF;border: 1px solid #000000;'></td></tr>";
str += (str1 + str2 + str3);
}
var tableHtml="<html><head><meta charset='UTF-8'></head><body><table>"+str+"</body></html>"
var excelBlob = new Blob([tableHtml], {type: 'application/vnd.ms-excel'});
var fileName = "雨量最大值-"+new Date().format("yyyy年MM月dd日 h时")+".xls";
if(isIE()){
window.navigator.msSaveOrOpenBlob(excelBlob,fileName);
}else{
var oa = document.createElement('a');
oa.href = URL.createObjectURL(excelBlob);
oa.download = fileName;
document.body.appendChild(oa);
oa.click();
}} //判断是否IE浏览器function isIE() {
if (!!window.ActiveXObject || "ActiveXObject" in window) {
return true;
} else {
return false;
}}
参考文章:https://blog.csdn.net/qq_34169240/article/details/84231226
㈩ 如何将html里面的table导出成excel
使用table2excel表格插件需要在页面中引入jquery和jquery.table2excel.js文件。
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.table2excel.js"></script>
HTML结构
你可以将任何标准的HTML表格结构的数据导出到Excel中,一个HTML表格的结构为:
<table>
<thead>
<tr class="noExl">
<td>带<code>noExl</code>class的行不会被输出到excel中</td>
<td>带<code>noExl</code>class的行不会被输出到excel中</td>
</tr>
<tr>
<td>这一行会被导出到excel中</td>
<td>这一行会被导出到excel中</td>
</tr>
</thead>
<tbody>
<tr>
<td>单元格1-1</td>
<td>单元格1-2</td>
</tr>
<tr>
<td>单元格2-1</td>
<td>单元格2-2</td>
</tr>
<tr>
<td>单元格3-1</td>
<td>单元格3-2</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2">合并2个单元格</td>
</tr>
</tfoot>
</table>
如果表格中的某一行不需要导出到Excel中,可以为这一行添加.noExl class类,该class类会在插件初始化时通过参数被指定为不被导出的数据。
初始化插件
在页面DOM元素加载中完毕之后,可以通过下面的方法来初始化table2excel插件。
$("#table2excel").table2excel({
// 不被导出的表格行的CSS class类
exclude: ".noExl",
// 导出的Excel文档的名称
name: "Excel Document Name",
// Excel文件的名称
filename: "myExcelTable"
});
配置参数
table2excel插件的可用配置参数有:
exclude:不被导出的表格行的CSS class类。
name:导出的Excel文档的名称。
filename:Excel文件的名称。
exclude_img:是否导出图片。
exclude_links:是否导出超链接
exclude_inputs:是否导出输入框中的内容。