gpt4 book ai didi

javascript - 使用javascript从html表导出到excel时隐藏列

转载 作者:可可西里 更新时间:2023-11-01 13:09:08 26 4
gpt4 key购买 nike

我有一个 html 表,我必须将其导出到 excel ,但在这样做时,我不希望导出某些 td 元素。当我应用 javascript 隐藏 td 时,更改仅应用于 View 表单,而不应用于导出的内容。

在这种情况下需要有关如何导出的帮助。

我在一个页面中包含了 html、css 和脚本。

<html>
<body>
<div id="myDiv">
<table id="metrics" border="1px" cellspacing="0 px" style="border-style: solid; border-color: Black;
border-width: thin;">
<tr>
<td style= "background-color: #bfbfbf; font-size: small; color: black;">
LOB
</td>
<td>
<span class="hillbillyForm" data-displayname='LOB' style="display:none;"></span>

</td>
</tr>
</table>
<input type="button" id="btnExport" value="Export" onclick="TableToExcel('metrics');" />
</div>
</body>

这里我想隐藏包含跨度类“hillbillyForm”的td

我正在使用的 javascript 是

    function TableToExcel(tableid) {

var id = $('[id$="' + tableid + '"]');
var $clonedTable = $("id").clone();
$clonedTable.find('[style = "display: none"]').remove();
var strCopy = $('<div></div>').html(id.clone()).html();

window.clipboardData.setData("Text", strCopy);

var objExcel = new ActiveXObject("Excel.Application");

objExcel.visible = false; var objWorkbook = objExcel.Workbooks.Add; var objWorksheet = objWorkbook.Worksheets(1); objWorksheet.Paste; objExcel.visible = true;
}
</script>

最佳答案

所以我的理解是,您想删除所有与 hillbillyForm 类有直接子级的 TD。

你可以这样做:

var form = document.getElementById(tableid),
exportForm = form.cloneNode(true),
elementsToRemove = exportForm.querySelectorAll('.hillbillyForm');

for (var i = elementsToRemove.length; i--;){
var td = elementsToRemove[i].parentElement;
if (td) td.parentElement.removeChild(td);
}

jsFiddle

关于javascript - 使用javascript从html表导出到excel时隐藏列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27987455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com