javaScript如何将table里的数据和table 内容居中转execl

Javascript实现把网页中table的内容导入到excel中的几种方法_百度知道
Javascript实现把网页中table的内容导入到excel中的几种方法
我有更好的答案
WEB页面导出为EXCEL文档的方法&/td&/tr&tr&td列标题1&/td&td列标题2&/td&td列标题3&/td&td列标题4&/td&td列标题5&/td&/tr&tr&tdaaa&/td&tdbbb&/td&tdccc&/td&tdddd&/td&tdeee&/td&/tr&tr&tdAAA&/td&tdBBB&/td&tdCCC&/td&tdDDD&/td&tdEEE&/td&/tr&tr&tdFFF&/td&tdGGG&/td&tdHHH&/td&tdIII&/td&tdJJJ&/td&/tr&/table&inputtype=buttononclick=javascript:method1('tableExcel');value=第一种方法导入到EXCEL&inputtype=buttononclick=javascript:method2('tableExcel');value=第二种方法导入到EXCEL&inputtype=buttononclick=javascript:getXlsFromTbl('tableExcel',null);value=第三种方法导入到EXCEL&SCRIPTLANGUAGE=javascriptfunctionmethod1(tableid){//整个表格拷贝到EXCEL中varcurTbl=document.getElementById(tableid);varoXL=newActiveXObject(Excel.Application);//创建AX对象excelvaroWB=oXL.Workbooks.Add();//获取workbook对象varoSheet=oWB.ActiveS//激活当前sheetvarsel=document.body.createTextRange();sel.moveToElementText(curTbl);//把表格中的内容移到TextRange中sel.select();//全选TextRange中内容sel.execCommand(Copy);//复制TextRange中内容oSheet.Paste();//粘贴到活动的EXCEL中oXL.Visible=//设置excel可见属性}functionmethod2(tableid)//读取表格中每个单元到EXCEL中{varcurTbl=document.getElementById(tableid);varoXL=newActiveXObject(Excel.Application);//创建AX对象excelvaroWB=oXL.Workbooks.Add();//获取workbook对象varoSheet=oWB.ActiveS//激活当前sheetvarLenr=curTbl.rows.//取得表格行数for(i=0;i&Li++){varLenc=curTbl.rows(i).cells.//取得每行的列数for(j=0;j&Lj++){oSheet.Cells(i+1,j+1).value=curTbl.rows(i).cells(j).innerT//赋值}}oXL.Visible=//设置excel可见属性}functiongetXlsFromTbl(inTblId,inWindow){try{varallStr=;varcurStr=;//alert(getXlsFromTbl);if(inTblId!=null&&inTblId!=&&inTblId!=null){curStr=getTblData(inTblId,inWindow);}if(curStr!=null){allStr+=curS}else{alert(你要导出的表不存在!);}varfileName=getExcelFileName();doFileExport(fileName,allStr);}catch(e){alert(导出发生异常:+e.name+-+e.description+!);}}functiongetTblData(inTbl,inWindow){varrows=0;//alert(getTblDatais+inWindow);vartblDocument=if(!!inWindow&&inWindow!=){if(!document.all(inWindow)){}else{tblDocument=eval(inWindow).}}varcurTbl=tblDocument.getElementById(inTbl);varoutStr=;if(curTbl!=null){for(varj=0;j&curTbl.rows.j++){//alert(jis+j);for(vari=0;i&curTbl.rows[j].cells.i++){//alert(iis+i);if(i==0&&rows0){outStr+=;rows-=1;}outStr+=curTbl.rows[j].cells[i].innerText+;if(curTbl.rows[j].cells[i].colSpan1){for(vark=0;k&curTbl.rows[j].cells[i].colSpan-1;k++){outStr+=;}}if(i==0){if(rows==0&&curTbl.rows[j].cells[i].rowSpan1){rows=curTbl.rows[j].cells[i].rowSpan-1;}}}outStr+=;}}else{outStr=alert(inTbl+不存在!);}returnoutS}functiongetExcelFileName(){vard=newDate();varcurYear=
采纳率:73%
为您推荐:
其他类似问题
excel的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。14:53 提问
js将页面上的table 导出成excel
希望加载的table完成后默认输出成excel文件 ,应该怎么办 跪求大神指导
按赞数排序
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!
一般导的时候都是从数据库取出来再导入excel
就是文件导出功能,本质上就是生成一个Excel文件,用Java的poi工具将数据表的信息写入Excel文件中。
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
怎么在前端用js将table导出到excel并且有样式?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
生成带样式的 Excel:
table 转为 excel(这个是 Node.js 的但是你可以参照源码自己实现一个):
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
把html文件拖到excel也行
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
我有一个更好的方案,可以导出前端的样式包括class和style的,下载ExcellentExport.js,js下载的url如下:然后获取到你的表格id,设置下载的标题,就可以下载如下代码:
&a download="医疗费自费补助清单.xls" href="#" onclick="return ExcellentExport.excel(this, 'statisTableFour', '医疗费自费补助清单');" style="color: # font-size: 12"&导出&/a&
&table id="statisTableFour"&&table&
截图如下:图片描述
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。JavaScript实现HTML中Table到Excel的自动转换
&* 默认转换实现函数,如果需要其他功能,需自行扩展
tableID : HTML中Table对象id属性值
&* 详细用法参见以下 TableToExcel
function saveAsExcel(tableID){
var tb = new TableToExcel(tableID);
tb.setFontStyle("Courier New");
tb.setFontSize(10);
tb.setTableBorder(2);
tb.setColumnWidth(7);
tb.isLineWrap(true);
tb.getExcelFile();
功能:HTML中Table对象转换为Excel通用对象.
&*& 作者:Evan
&*& 时间:
参数:tableID& HTML中Table对象的ID属性值
&*& 说明:
能适应复杂的HTML中Table对象的自动转换,能够自动根据行列扩展信息
合并Excel中的单元格,客户端需要安装有Excel
详细的属性、方法引用说明参见:Excel的Microsoft Excel Visual Basic参考
&*& 示范:
tb = new TableToExcel('demoTable');
tb.setFontStyle("Courier New");
tb.setFontSize(10);&&//推荐取值10
tb.setFontColor(6);&&//一般情况不用设置
tb.setBackGround(4);&&//一般情况不用设置
tb.setTableBorder(2);&&//推荐取值2
tb.setColumnWidth(10);&&//推荐取值10
tb.isLineWrap(false);
tb.isAutoFit(true);
tb.getExcelFile();
如果设置了单元格自适应,则设置单元格宽度无效
function TableToExcel(tableID) {
this.tableBorder = -1; //边框类型,-1没有边框 可取1/2/3/4
this.backGround = 0; //背景颜色:白色 可取调色板中的颜色编号 1/2/3/4....
this.fontColor = 1; //字体颜色:黑色
this.fontSize = 10; //字体大小
this.fontStyle = "宋体"; //字体类型
this.rowHeight = -1; //行高
this.columnWidth = -1; //列宽
this.lineWrap = //是否自动换行
this.textAlign = -4108; //内容对齐方式 默认为居中
this.autoFit = //是否自适应宽度
this.tableID = tableID;
TableToExcel.prototype.setTableBorder = function (excelBorder)
this.tableBorder = excelB
TableToExcel.prototype.setBackGround = function (excelColor)
this.backGround = excelC
TableToExcel.prototype.setFontColor = function (excelColor)
this.fontColor = excelC
TableToExcel.prototype.setFontSize = function (excelFontSize)
this.fontSize = excelFontS
TableToExcel.prototype.setFontStyle = function (excelFont)
this.fontStyle = excelF
TableToExcel.prototype.setRowHeight = function (excelRowHeight)
this.rowHeight = excelRowH
TableToExcel.prototype.setColumnWidth = function
(excelColumnWidth) {
this.columnWidth = excelColumnW
TableToExcel.prototype.isLineWrap = function (lineWrap) {
if (lineWrap == false || lineWrap == true) {
this.lineWrap = lineW
TableToExcel.prototype.setTextAlign = function (textAlign)
this.textAlign = textA
TableToExcel.prototype.isAutoFit = function(autoFit){
if(autoFit == true || autoFit == false)
this.autoFit = autoF
//文件转换主函数
TableToExcel.prototype.getExcelFile = function () {
var jXls, myWorkbook, myWorksheet, myHTMLTableCell, myExcelCell,
myExcelCell2;
var myCellColSpan, myCellRowS
jXls = new ActiveXObject('Excel.Application');
catch (e) {
alert("无法启动Excel!\n\n" + e.message +
"\n\n如果您确信您的电脑中已经安装了Excel,"+
"那么请调整IE的安全级别。\n\n具体操作:\n\n"+
"工具 → Internet选项 → 安全 → 自定义级别 → 对没有标记为安全的ActiveX进行初始化和脚本运行 →
jXls.Visible =
myWorkbook = jXls.Workbooks.Add();
jXls.DisplayAlerts =
myWorkbook.Worksheets(3).Delete();
myWorkbook.Worksheets(2).Delete();
jXls.DisplayAlerts =
myWorksheet = myWorkbook.ActiveS
var readRow = 0, readCol = 0;
var totalRow = 0, totalCol = 0;
var tabNum = 0;
//设置行高、列宽
if(this.columnWidth != -1)
myWorksheet.Columns.ColumnWidth = this.columnW
myWorksheet.Columns.ColumnWidth = 7;
if(this.rowHeight != -1)
myWorksheet.Rows.RowHeight = this.rowH
//搜索需要转换的Table对象,获取对应行、列数
var obj = document.all.tags("table");
for (x = 0; x & obj. x++) {
if (obj[x].id == this.tableID) {
totalRow = obj[x].rows.
for (i = 0; i & obj[x].rows[0].cells. i++)
myHTMLTableCell = obj[x].rows(0).cells(i);
myCellColSpan = myHTMLTableCell.colS
totalCol = totalCol + myCellColS
//开始构件模拟表格
var excelTable = new Array();
for (i = 0; i &= totalR i++) {
excelTable[i] = new Array();
for (t = 0; t &= totalC t++) {
excelTable[i][t] =
//开始转换表格
for (z = 0; z & obj[tabNum].rows. z++)
readRow = z + 1;
readCol = 0;
for (c = 0; c & obj[tabNum].rows(z).cells.
myHTMLTableCell = obj[tabNum].rows(z).cells(c);
myCellColSpan = myHTMLTableCell.colS
myCellRowSpan = myHTMLTableCell.rowS
for (y = 1; y &= totalC y++) {
if (excelTable[readRow][y] == false) {
if (myCellColSpan * myCellRowSpan & 1) {
myExcelCell = myWorksheet.Cells(readRow, readCol);
myExcelCell2 = myWorksheet.Cells(readRow + myCellRowSpan - 1,
readCol + myCellColSpan - 1);
myWorksheet.Range(myExcelCell, myExcelCell2).Merge();
myExcelCell.HorizontalAlignment = this.textA
myExcelCell.Font.Size = this.fontS
myExcelCell.Font.Name = this.fontS
myExcelCell.wrapText = this.lineW
myExcelCell.Interior.ColorIndex = this.backG
myExcelCell.Font.ColorIndex = this.fontC
if(this.tableBorder != -1){
myWorksheet.Range(myExcelCell, myExcelCell2).Borders(1).Weight =
this.tableB
myWorksheet.Range(myExcelCell, myExcelCell2).Borders(2).Weight =
this.tableB
myWorksheet.Range(myExcelCell, myExcelCell2).Borders(3).Weight =
this.tableB
myWorksheet.Range(myExcelCell, myExcelCell2).Borders(4).Weight =
this.tableB
myExcelCell.Value = myHTMLTableCell.innerT
for (row = readR row &= myCellRowSpan + readRow -
1; row++) {
for (col = readC col &= myCellColSpan + readCol -
1; col++) {
excelTable[row][col] =
readCol = readCol + myCellColS
myExcelCell = myWorksheet.Cells(readRow, readCol);
myExcelCell.Value = myHTMLTableCell.innerT
myExcelCell.HorizontalAlignment = this.textA
myExcelCell.Font.Size = this.fontS
myExcelCell.Font.Name = this.fontS
myExcelCell.wrapText = this.lineW
myExcelCell.Interior.ColorIndex = this.backG
myExcelCell.Font.ColorIndex = this.fontC
if(this.tableBorder != -1){
myExcelCell.Borders(1).Weight = this.tableB
myExcelCell.Borders(2).Weight = this.tableB
myExcelCell.Borders(3).Weight = this.tableB
myExcelCell.Borders(4).Weight = this.tableB
excelTable[readRow][readCol] =
readCol = readCol + 1;
if(this.autoFit == true)
myWorksheet.Columns.AutoF
jXls.UserControl =
myWorkbook =
myWorksheet =
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。js中table数据导出excel文件-js教程-PHP中文网QQ群微信公众号还没有收藏js中table数据导出excel文件本文主要和大家分享一些代码,主要和大家分享js中table数据导出excel文件的方法实例,希望能帮助到大家。表格转换成excel并下载 (document).ready(function () {
(“#myBtn”).click(function () {
//点击下载按钮,执行方法
CreateExcel(“myTable”,”test”);
//将table导出到excel
function getExplorer() {
//返回浏览器类型
var explorer = window.navigator.userA
if (explorer.indexOf(“MSIE”) &= 0) {
return ‘ie’;
else if (explorer.indexOf(“Firefox”) &= 0) {
return ‘Firefox’;
else if (explorer.indexOf(“Chrome”) &= 0) {
return ‘Chrome’;
else if (explorer.indexOf(“Opera”) &= 0) {
return ‘Opera’;
else if (explorer.indexOf(“Safari”) &= 0) {
return ‘Safari’;
function CreateExcel(tableid,fileName) {
if (getExplorer() == ‘ie’) {
var curTbl = document.getElementById(tableid);
var oXL = new ActiveXObject(“Excel.Application”);
var oWB = oXL.Workbooks.Add();
var xlsheet = oWB.Worksheets(1);
var sel = document.body.createTextRange();
sel.moveToElementText(curTbl);
sel.select();
sel.execCommand(“Copy”);
xlsheet.Paste();
oXL.Visible =
var fname = oXL.Application.GetSaveAsFilename(fileName + “.xls”,
//文件名和文件格式
但尝试改了一下fileName 这里并不影响
“Excel Spreadsheets (.xls), .xls”);
} catch (e) {
print(“Nested catch caught ” + e);
} finally {
oWB.SaveAs(fname);
oWB.Close(savechanges = false);
oXL.Quit();
idTmr = window.setInterval(“Cleanup();”, 1);
tableToExcel(tableid,fileName)
//调用tableToExcex
table的id 和 要生成的文件名
function Cleanup() {
window.clearInterval(idTmr);
CollectGarbage();
var tableToExcel = (function () {
var uri = ‘data:application/vnd.ms-base64,’,
template =
‘{table}’,
base64 = function (s) {
return window.btoa(unescape(encodeURIComponent(s)))
format = function (s, c) {
return s.replace(/{(\w+)}/g,
function (m, p) {
return c[p];
return function (table, name) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = {
worksheet: name || ‘Worksheet’,
table: table.innerHTML
// window.location.href = uri + base64(format(template, ctx))
a = document.createElement(“a”);
a.download =
a.href = uri + base64(format(template, ctx));
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
})()下载/Download excel上下文表格布局产品付款日期状态产品123/11/2013待发货产品210/11/2013发货中产品320/10/2013待确认产品420/10/2013已退货相关推荐:以上就是js中table数据导出excel文件的详细内容,更多请关注php中文网其它相关文章!共3篇582点赞收藏分享:.php.cn&猜你喜欢PHP中文网:独家原创,永久免费的在线,php技术学习阵地!
All Rights Reserved | 皖B2-QQ群:关注微信公众号}

我要回帖

更多关于 将table 循环转换json 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信