我导出的文件格式为.csv,下面是我做的导出产品数据的功能,上代码。
<button type="button" class="button" id="export"><span><span>导出</span></span></button>
<script type="text/javascript"><!-- $(function(){ $(document).keydown(function(event){ if(event.keyCode==13){ filter(); } }); $("#export").click(function(){ var selected = ""; var checkSelected = $("input:checkbox[name='selected[]']"); for(var i=0; i<checkSelected.length; i++){ if(checkSelected[i].checked){ if(checkSelected[i].value != ''){ selected += ("," + checkSelected[i].value); } } } selected = selected.slice(1); var url = 'http://localhost/easyManager/manager/product.php?action=export'; if(selected){ url += '&' + "selected=" + selected; } if( confirm("确定要导出该数据吗?")) setLocation(url); }) });
function setLocation(url) { window.location.href = url; }
</script>
上php代码:
<?php
$action = isset($_GET['action'])?$_GET['action']:'';
switch ($action) {
case 'export';
$error = false;
if( isset($_GET['selected'])&& !empty($_GET['selected'])){
$selected = explode(',',$_GET['selected']);
} else {
$error = true;
$message_stack->add_session('product', '未选中所需导出的数据。');
}
if($error == true){
redirect(href_link(FILENAME_PRODUCT));
} else {
$fileName = 'product' .time(). '.csv';
header("Content-Type: text/csv");
header('Content-Disposition: attachment; filename="' . $fileName);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
// 打开PHP文件句柄,php://output 表示直接输出到浏览器
$fp = fopen('php://output', 'a');
$header =