ホームページ > バックエンド開発 > PHPチュートリアル > phpエクスポートデータをExcelファイルにエクスポートします phpエクスポートExcelが文字化けする問題

phpエクスポートデータをExcelファイルにエクスポートします phpエクスポートExcelが文字化けする問題

WBOY
リリース: 2016-07-25 08:56:12
オリジナル
977 人が閲覧しました
  1. /**
  2. * Excel ファイルをエクスポート
  3. * by bbs.it-home.org
  4. */
  5. function xlsBOF() {
  6. echo Pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
  7. return;
  8. 関数 xlsEOF() {
  9. エコー パック("ss", 0x0A, 0x00);
  10. 関数 xlsWriteNumber($Row, $Col, $Value) {
  11. エコー パック("ssss", 0x203, 14, $Row, $Col, 0x0);
  12. echo Pack("d", $Value);
  13. }
  14. function xlsWriteLabel($Row, $Col, $Value) {
  15. $Value = iconv(" ", "gb2312", $Value); //エクスポートされた Excel ファイルの文字化け問題を解決するには、このステートメントを追加します 20110629
  16. $L = strlen($Value);
  17. echo Pack("ssssss", 0x204, 8 + $L, $ Row, $Col, 0x0, $L);
  18. echo $Value;
  19. }
  20. include "connection.php";
  21. $sql = "ps_ledger_11からledger_name、ledger_sex、ledger_addを選択";
  22. $query = mysql_query($sql);
  23. // ファイルヘッダ
  24. header("Pragma: public");
  25. header("Expires: 0");
  26. header("Cache-Control: must-revalidate, post-check=0, pre -check=0");
  27. header("Content-Type: application/force-download");
  28. header("Content-Type: application/octet-stream");
  29. header("Content-Type: application/download ");
  30. header("Content-Type: application/vnd.ms-excel; charset=UTF-8");
  31. header("Content-Disposition:attachment;filename=警察署補助統計表.xls ") ;
  32. //header("Content-Disposition: inline; filename="" . $filename . ".xls"");
  33. //iconv("utf-8", "gb2312", $filename);/ /解決策 ファイル ".xls"");
  34. header("Content-Transfer-Encoding: binary ");
  35. // テーブルにデータを追加
  36. xlsBOF();
  37. xlsWriteLabel(1,0,"Column名前") ;
  38. xlsWriteLabel(1,1,"列名");
  39. xlsWriteLabel(1,2,"列名");
  40. xlsWriteLabel(1,3,"列名");
  41. xlsWriteLabel(1,4, "列名 ");
  42. $xlsRow = 1;
  43. while($array = mysql_fetch_array($query)) {
  44. ++$i;
  45. xlsWriteNumber($xlsRow,0,"$i");
  46. xlsWriteNumber($xlsRow ,0, "$array[0]");
  47. xlsWriteLabel($xlsRow,1,"$array[1]");
  48. xlsWriteLabel($xlsRow,2,"$array[2]");
  49. xlsWriteLabel($ xlsRow,3 ,"$array[3]");
  50. xlsWriteLabel($xlsRow,4,"$array[4]");
  51. $xlsRow++;
  52. }
  53. xlsEOF();
  54. exit();
  55. //20110629夜にテストに合格しました。列名が表示されないのですが?他は大丈夫です。
  56. ?>
  57. コードをコピー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート