ホームページ > バックエンド開発 > PHPチュートリアル > PHP が CSV をエクスポートすると、長すぎる数値の精度が失われ、先頭の 0 文字列が 0 を失う問題が解決されました。

PHP が CSV をエクスポートすると、長すぎる数値の精度が失われ、先頭の 0 文字列が 0 を失う問題が解決されました。

WBOY
リリース: 2016-06-23 13:45:20
オリジナル
1731 人が閲覧しました

php によって生成された CSV は、次の 2 つの特殊な状況に遭遇することがあります:

1. 出力フィールドに、ID カード: 122121197410180016 などの非常に長い数字 (18 桁の数字) が含まれています。フィールドが "" で出力された場合でも、 122121197410180000

2 のように、次の 4 桁は数値として認識され、精度は失われます。出力フィールドでは、先頭の 0 を含む数値文字列は強制的に先頭の 0 を失います。例: 01082151122、または 00001、00002 の場合、システムは強制的に 1082151122、1、2 などの番号として識別します。


上記の問題に対して、Excel は邪悪すぎて従来の方法では解決できないとしか言​​いようがありません。 2 つの特別な解決策があります:

1. 手動でフィールドをテキスト タイプに設定し、メニュー -> データ -> Excel でテキスト データをインポートすることでインポートできますが、これはユーザーにとって操作が大きすぎて困難です。したがって、この方法は実行不可能です。

2. Excel を修正するには、「t」というタブ文字を追加します。これは Excel では表示されませんが、ファイルを開くと存在します。このフィールドはデフォルトでは文字列として扱われます。 (副作用として、実際にフィールドに t が存在します。それを確認するために使用するだけであれば問題ありませんが、これを異種システムにインポートすると、t によって予期しないエラーが発生します)。

まあ、自分で秤にかけてみてください、私はこの 2 つの選択肢しか思いつきません。めちゃくちゃエクセル。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート