AJAX调用将数据导出为ex​​cel

时间:2018-05-24 20:00:00

标签: php ajax excel jscript

编辑我刚刚意识到我必须将json_encode作为AJAX调用中URL的参数传递给fromDate。所以我需要使用

url: 'json-responses.php?fct=exportTo...ByDate&regDate=' + <?php echo json_encode($fromDate) ;?>

而不是

url: 'json-responses.php?fct=exportTo...ByDate&regDate=' + <?php echo $fromDate ;?>

我从jqx.dataAdapter获取了错误的网址,您可以在不先json_encode的情况下传递日期。 Excel导出仍然无法正常工作,但我设法从dB获取请求的数据并将其输出到页面上 修改-END

在现有网页上我试图复制一个将数据导出到Excel的按钮。起初我尝试使用以下代码创建一个简单的php文件

source.php

<form method="post" action="export.php">
    <input type="submit" name="export" value="Export" />
</form>

export.php有所需的PDO .dsn数据然后调用导出function exportToExcelMembersByDate($PDOdbObject, $regDate)

export.php

exportToExcelMembersByDate($pdo, "2013-09-12");

function exportToExcelMembersByDate($PDOdbObject, $regDate)
    {
    .
    .
    .
    header('Content-Type: application/xls');
    header('Content-Disposition: attachment; filename=download.xls');
     echo $output;
    }

$output<html>中包含一个表格。当我点击按钮时,我立即弹出一个窗口,询问我是要保存还是打开excel文件。

现在我想在现有环境中实现相同的解决方案。 我将函数exportToExcelMembersByDate复制到现有的data-layer.php

在相应的网页中我有以下内容

Source.php

<?php
    $fromDate = $_POST['fromDate'];
?>
<script>
     $("#export").click(function ()
     {
        exportToExcel();
     }
        );

     function exportToExcel()
     {
        $.ajax({
            type: 'GET',
            dataType: 'html',
            url: 'json-responses.php?fct=exportToExcelMembersByDate&regDate= + <?php echo $fromDate ;?>,
        })
     } 
</script>

<div> 
    <input type="button" id="export" value="Export to Excel" />
</div>

JSON-responses.php

 if ($_GET['fct'] == 'exportToExcelMembersByDate')
    {   
        $result = exportToExcelMembersByDate($connectionObject, $_GET['regDate']);
        echo $result;
    }

但是当我点击按钮时没有任何反应。在AJAX我尝试过。 async: true/false dataType: json/txt/html type: 'POST'/'GET'

0 个答案:

没有答案