1

我想使用 javascript,将 html 表导出到 excel。我使用了下面的脚本。它工作正常。由于很少有单元格具有特殊字符,因此我已将其转义。但是,不会下载此特殊字符单元格之后的行和内容。请帮忙。这是代码:

<script type="text/javascript">
            $(document).ready(function(){      
    $("#exportToExcel").click(function() {  
        var data='<table border="1" class="csstable">'+$("#myTable").html().replace(/^[a-zA-Z!”$%&’()*\+,\/;\[\\\]\^_`{|}~<>]+$/gi, '')+'</table>';
                $('body').prepend("<form method='post' action='exporttoexcel.php' style='display:none' id='ReportTableData'><input type='text' name='tableData' value='"+data+"' ></form>");
         $('#ReportTableData').submit().remove();
         return false;
    });

});
</script>



<?php  
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename=".date('d-m-Y').'-'.date("H:i:s").'-'."myfile.xls");
header("Content-Transfer-Encoding: binary ");

echo strip_tags($_POST['tableData'],'<table><th><tr><td>');  
?>
4

1 回答 1

0

认为这就是你想要的:http: //jsfiddle.net/9zaH7/

  1. 采用表格 html,包装在新表格中 - 这部分似乎不需要,但也许您需要删除样式/类?

  2. 将整个表格转义到表单文​​本字段。

    $(document).ready(function(){
    $("#exportToExcel").click(function() {

        var data='<table border="1" class="csstable">'+$("#myTable").html()+'</table>';
        data=escape(data);
                $('body').prepend("<form method='post' action='exporttoexcel.php' style='display:block' id='ReportTableData'><input type='text' name='tableData' value='"+data+"'></form>");
    
         return false;
    });});
    
于 2013-06-25T09:45:37.820 回答