导出到excel时隐藏html列

时间:2013-02-10 14:04:38

标签: php jquery excel header

我正在尝试使用php中的标头输出导出html表。我正在使用jquery通过复选框事件隐藏列。

我取消隐藏和隐藏列的jquery代码是:

$('.col').css('display','table-cell');
$('.col').css('display','none');

当我使用隐藏列导出html表时,仍会显示隐藏列。 我想在使用php标题导出到excel时隐藏这些列。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

我只是在找这个,我找到了

How to remove style="display: none;" columns when exporting an HTML table to Excel? | The ASP.NET Forums;诀窍是首先克隆你的表,然后在导出之前删除样式为“display:none;”的所有元素:

  

最简单的方法(如果可以)可能是在提交表单之前明确删除任何不可见的<th><td>元素:

// This will remove any hidden <th> or <td> elements from the DOM
$("th:hidden,td:hidden").remove();
     

[...]将现有的html克隆到jQuery变量中,然后从该实际变量中执行删除:

// When the stripped button is clicked, clone the existing source
var $clonedTable = $("#my-table").clone();
// Strip your empty characters from the cloned table (hidden didn't seem to work since the cloned table isn't visible)
$clonedTable.find('[style*="display: none"]').remove();

答案 1 :(得分:0)

$("th:hidden,td:hidden").remove();
var $clonedTable = $("#my-table").clone();

$clonedTable.find('[style*="display: none"]').remove();

答案 2 :(得分:-1)

我编写了一个小类类,您可以在使用表单中的数据填充数组后生成xls表单,它非常易于使用,并且可以根据您的要求进行扩展,希望有所帮助:http://www.anchorx.com/ali/2011/02/27/create-spreadsheet-with-php/