PHP_PHP チュートリアルでデータを Excel にエクスポートするときに数値が科学表記法に変更される問題を解決する方法
Jul 21, 2016 pm 03:13 PM
excel
php
なる
存在する
輸出
番号
データ
方法
時間
の
科学
解決する
カウント
Excelにデータをエクスポートした場合、数値の形式が正しくない場合は、主に以下の2つの状況に分けられます。
1. Excel のセル設定の長さが不十分です
解決策:
コードをコピーします コードは次のとおりです:
//excel.php ファイル内
$objActSheet = $objPHPExcel ->getActiveSheet( ; );//ここで設定した長さの値を変更します
2. Excel では通常、フィールドをテキストに設定するか、スペースを追加する方法を見つけます。
解決策:
コードをコピーします
コードは次のとおりです: //主に chunk_split() 関数で表示するデータを処理するためのデータを追加します。 具体的な使用方法を確認できます。この関数を自分で作成してください$ objActSheet->setCellValue ( "b$i", chunk_split("123456789 ",4," ") );//もちろん、数値間のスペースをユーザーに見せたくない場合は、次に、分割されるフィールド値をより大きく設定します。例の 4 など、一部の値は 9 以上に設定できます。
EXcel にエクスポートしたメイン コードの先頭部分:
コードをコピーします
コードは次のとおりです。 <? if(count($data)> 40000){
$filename_type= 'csv'; }else{
$filename_type='xls';
header("Content-Type: application/vnd.ms-excel"); :bytes");
Header ("Content-Disposition:attachment;filename=".$filename.".".$filename_type); //$filename によってエクスポートされたファイル名
header("Pragma: no-cache") ;
header("有効期限: 0 ");
if($filename_type=='xls'){
echo '<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x ="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<meta http-equiv="有効期限が切れます" content="Mon, 06 Jan 1999 00:00:01 GMT">
<meta http-equiv=Content-Type content="text/html">
<!--[ if gte mso 9]<<x:ExcelWorkbook>
<x:ExcelWorksheet>
<x:WorksheetOptions>
<x:DisplayGridlines/>
</x:ExcelWorksheet>
</xml> [endif]-- >
</head>'
}
次のステップは、<table><tr><td></td></tr></table>の形式でデータを出力することです
長い間検索した後、ようやく役に立つ情報を見つけました。抜粋は次のとおりです:
「まず、Web ページから Excel をエクスポートする原理を理解しましょう。このデータをクライアントに送信するとき、クライアント プログラム (ブラウザー) は次のようにします。 Excel 形式で読み取るため、MIME タイプを application/vnd.ms-excel に設定します。Excel がファイルを読み取るとき、セルに指定された形式がない場合は、データが各セルの形式で表示されます。セルのデータはデフォルトの形式で表示されます。もちろん、Excel でサポートされている形式を使用する必要があります。
1) テキスト: vnd.ms -excel.numberformat:@
2) 日付: vnd.ms-excel.numberformat:yyyy/mm/dd
3) 数値: vnd.ms-excel.numberformat:#,##0.00
4) 通貨: vnd.ms -excel.numberformat:¥#,## 0.00
5) パーセンテージ: vnd.ms-excel.numberformat: #0.00%
たとえば、年と月を yy-mm のように定義することもできます。これらの形式を理解した後、これらの形式をセルに追加するのはどうすればよいでしょうか? 必要なのは、対応するタグのペア (つまり、終了タグ) にスタイルを追加することだけです。たとえば、<td></td> の場合は、タグ ペア <td></ td> を指定し、次のようにスタイルを追加します: <td style="vnd.ms-excel.numberformat:@">410522198402161833< ;/td>
同様に、<div></div> にもスタイルを追加できます。親タグ ペアと子タグ ペアの両方にスタイルを追加します。データはどちらのスタイルで表示されますか? データに最も近いスタイルで表示されます。
$filename_type='xls';
header("Content-Type: application/vnd.ms-excel"); :bytes");
Header ("Content-Disposition:attachment;filename=".$filename.".".$filename_type); //$filename によってエクスポートされたファイル名
header("Pragma: no-cache") ;
header("有効期限: 0 ");
if($filename_type=='xls'){
echo '<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x ="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<meta http-equiv="有効期限が切れます" content="Mon, 06 Jan 1999 00:00:01 GMT">
<meta http-equiv=Content-Type content="text/html">
<!--[ if gte mso 9]<<x:ExcelWorkbook>
<x:ExcelWorksheet>
<x:WorksheetOptions>
<x:DisplayGridlines/>
</x:ExcelWorksheet>
</xml> [endif]-- >
</head>'
}
次のステップは、<table><tr><td></td></tr></table>の形式でデータを出力することです
長い間検索した後、ようやく役に立つ情報を見つけました。抜粋は次のとおりです:
「まず、Web ページから Excel をエクスポートする原理を理解しましょう。このデータをクライアントに送信するとき、クライアント プログラム (ブラウザー) は次のようにします。 Excel 形式で読み取るため、MIME タイプを application/vnd.ms-excel に設定します。Excel がファイルを読み取るとき、セルに指定された形式がない場合は、データが各セルの形式で表示されます。セルのデータはデフォルトの形式で表示されます。もちろん、Excel でサポートされている形式を使用する必要があります。
1) テキスト: vnd.ms -excel.numberformat:@
2) 日付: vnd.ms-excel.numberformat:yyyy/mm/dd
3) 数値: vnd.ms-excel.numberformat:#,##0.00
4) 通貨: vnd.ms -excel.numberformat:¥#,## 0.00
5) パーセンテージ: vnd.ms-excel.numberformat: #0.00%
たとえば、年と月を yy-mm のように定義することもできます。これらの形式を理解した後、これらの形式をセルに追加するのはどうすればよいでしょうか? 必要なのは、対応するタグのペア (つまり、終了タグ) にスタイルを追加することだけです。たとえば、<td></td> の場合は、タグ ペア <td></ td> を指定し、次のようにスタイルを追加します: <td style="vnd.ms-excel.numberformat:@">410522198402161833< ;/td>
同様に、<div></div> にもスタイルを追加できます。親タグ ペアと子タグ ペアの両方にスタイルを追加します。データはどちらのスタイルで表示されますか? データに最も近いスタイルで表示されます。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7289
9


Java チュートリアル
1622
14


CakePHP チュートリアル
1342
46


Laravel チュートリアル
1259
25


PHP チュートリアル
1206
29



Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
