PHP exports data to excel file. PHP exports excel garbled problem.

WBOY
Release: 2016-07-25 08:56:12
Original
948 people have browsed it
  1. /**
  2. * Export excel file
  3. * by bbs.it-home.org
  4. */
  5. function xlsBOF() {
  6. echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
  7. return;
  8. }
  9. function xlsEOF() {
  10. echo pack("ss", 0x0A, 0x00);
  11. return;
  12. }
  13. function xlsWriteNumber($Row, $Col, $Value) {
  14. echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
  15. echo pack("d", $Value);
  16. return;
  17. }
  18. function xlsWriteLabel($Row, $Col, $Value) {
  19. $Value = iconv("UTF-8 ", "gb2312", $Value); //Add this statement to solve the garbled problem of exported excel files 20110629
  20. $L = strlen($Value);
  21. echo pack("ssssss", 0x204, 8 + $L, $ Row, $Col, 0x0, $L);
  22. echo $Value;
  23. return;
  24. }
  25. include "connection.php";
  26. $sql = "select ledger_name,ledger_sex ,ledger_age ,ledger_add from ps_ledger_11";
  27. $query = mysql_query($sql);
  28. // File header
  29. header("Pragma: public");
  30. header("Expires: 0");
  31. header("Cache-Control: must-revalidate, post-check=0, pre -check=0");
  32. header("Content-Type: application/force-download");
  33. header("Content-Type: application/octet-stream"); ​​
  34. header("Content-Type: application/download ");
  35. header("Content-Type: application/vnd.ms-excel; charset=UTF-8");
  36. header("Content-Disposition: attachment;filename=Police Office Auxiliary Police Statistics Table.xls ") ;
  37. //header("Content-Disposition: inline; filename="" . $filename . ".xls"");
  38. //iconv("utf-8", "gb2312", $filename);//Solution Garbled characters caused by files ".xls"");
  39. header("Content-Transfer-Encoding: binary ");
  40. // Add data to the table
  41. xlsBOF();
  42. xlsWriteLabel(1,0,"Column Name") ;
  43. xlsWriteLabel(1,1,"Column Name");
  44. xlsWriteLabel(1,2,"Column Name");
  45. xlsWriteLabel(1,3,"Column Name");
  46. xlsWriteLabel(1,4,"Column Name ");
  47. $xlsRow = 1;
  48. while($array = mysql_fetch_array($query)) {
  49. ++$i;
  50. xlsWriteNumber($xlsRow,0,"$i");
  51. xlsWriteNumber($xlsRow,0, "$array[0]");
  52. xlsWriteLabel($xlsRow,1,"$array[1]");
  53. xlsWriteLabel($xlsRow,2,"$array[2]");
  54. xlsWriteLabel($xlsRow,3 ,"$array[3]");
  55. xlsWriteLabel($xlsRow,4,"$array[4]");
  56. $xlsRow++;
  57. }
  58. xlsEOF();
  59. exit();
  60. //20110629 Test passed at night . Column names are not displayed? Others are OK.
  61. ?>
Copy code


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template