У меня есть данные в базе данных MySQL. Я отправляю пользователю URL-адрес, чтобы получить свои данные как файл excel.Создать файл Excel для пользователя в PHP
Как я могу, щелкнув ссылку, открыть всплывающее окно, чтобы загрузить Excel с записью из MySQL?
У меня есть вся информация, чтобы получить отчет уже. Я просто не понимаю, как иметь PHP создать файл первенствовать и пусть скачать файл
include("con.php");
// Qry to fetch all records against date
$dateonedayback=strtotime('-1 day',strtotime(date("Y/m/d")));
$one_day=date("Y-m-d",$dateonedayback);
$qry_user_points = "SELECT u.points,u.db_add_date,u.user_email_id FROM tbl_user AS u WHERE u.points != '0' AND date(u.db_add_date)='".$one_day."' ";
$query_result= $con->db_query($qry_user_points);
header('Content-Type: application/vnd.ms-excel'); //define header info for browser
header('Content-Disposition: attachment; filename=Users-Points-Report-'.date('Ymd').'.xls');
$excel_header = array("Email","Points","Date");
for ($i = 0; $i < count($excel_header); $i++)
{
echo $excel_header[$i]."\t";
}
print("\n");
$j=0;
while($rowValue = $con->db_fetch_array($query_result))
{
$points = $rowValue['points'];
$emailID = $rowValue['user_email_id'];
$addedDate = $rowValue['db_add_date'];
// create an array to insert in excel with url encoding
$final_array = array(urlencode($points),urlencode($emailID),urlencode($addedDate));
$result_count =$con->db_num_rows($query_result);
$output = '';
for($k=0; $k < $con->db_num_rows($query_result); $k++)
{
if(!isset($final_array[$k]))
$output .= "NULL\t";
else
$output .= "$final_array[$k]\t";
}
$output = preg_replace("/\r\n|\n\r|\n|\r/", ' ', $output);
print(trim($output))."\t\n";
$j++;
} // while close
Когда я ударил ссылку создает Excel файл, но данные не приходят правильно
пишет только точки в Excel файл не по электронной почте & дата
, пожалуйста, помогите мне в этом.
Рассмотрите используя встроенную функцию PHP [fputcsv()] (http://www.php.net/manual/en/function.fputcsv.php) при создании файла CSV или даже версии [SPL] (http://www.php.net/manual/en/splfileobject.fputcsv.php) –
Обратите внимание, что вы фактически не создаете файл Excel (формат BIFF или OfficeOpenXML), а только файл CSV с расширением .xls –
Возможный дубликат [Экспорт данных в Excel с помощью PHP] (http://stackoverflow.com/q/13085269/), [phpexcel для загрузки] (http://stackoverflow.com/q/8566196/), [Загрузить Excel с сервера с помощью PHP ] (http://stackoverflow.com/q/17044580/). См. Также [Альтернатива для PHP_excel] (http://stackoverflow.com/q/3930975/). – outis