ホームページ >バックエンド開発 >PHPチュートリアル >mysql - php が Excel データをエクスポート、ID カード出力の問題

mysql - php が Excel データをエクスポート、ID カード出力の問題

WBOY
WBOYオリジナル
2016-10-11 14:23:161459ブラウズ

PHPを使ってデータをExcelファイルにエクスポートする
PHPExcelクラスを使う代わりに簡単なプログラムを書きました
Excelファイルを生成し、データを一行ずつ入力していきます
ただしID番号は科学的表記法で出力されます。オンラインで解決策を見つけるには、その前に引用符を追加すると確かに問題が解決します
もう 1 つは http://www.cnblogs.com/jcz120...
しかし、非常に面倒に感じますので、お聞きしたいのです。この2つの解決策以外に方法はないのでしょうか?

皆さんありがとう

返信内容:


PHPを使ってデータをExcelファイルにエクスポートする
PHPExcelクラスを使う代わりに簡単なプログラムを書きました
Excelファイルを生成し、データを一行ずつ入力していきます
ただしID番号は科学的表記法で出力されます。オンラインで解決策を見つけるには、その前に引用符を追加すると確かに問題が解決します
もう 1 つは http://www.cnblogs.com/jcz120...

しかし、非常に面倒に感じますので、お聞きしたいのです。この2つの解決策以外に方法はないのでしょうか?

皆さんありがとう

ID 番号にスペースを追加することは、実際には番号を文字列に変換するだけです

「4400202....」のように、ID番号の前にシングルクォーテーションを追加します(英語入力状態の場合はシングルクォーテーション)。

一重引用符を追加するか、セルの形式を事前にテキスト形式に変更するのが最も簡単な解決策です。それでも面倒ですか?

  1. $objPHPExcel->getActiveSheet()->setCellValue('A1', "'". 123456789033);前に単一引用符を付けます:

  2. $objPHPExcel->getActiveSheet()->setCellValueExplicit('A1',123456789033, PHPExcel_Cell_DataType::TYPE_STRING);データ型を指定します:


これは非常に簡単で、最後に「431226198910135411」を追加するだけで完全に解決されます。問題が解決したら、WeChat パブリック アカウント phpgod を忘れずにフォローしてください。
++++更新された分割線、時間: 2016-10-9 11:18:09+++

segmentfault の編集者には本当にうんざりしました、上の t は私のためにエスケープされました、クソ!

csvxls还是xlsx,1,3的话,生成相对好处理,csv按分隔符,但是不好处理字符串,xlsx是xml(感觉你应该是封装了处理这个吧),xlsx的格式里面有专门存字符串的xml,需要把字符串存到这个xml里面,再根据字符串的序号去取(这样设计估计能减少重复字符串占用资源)。不过还是用PHPExcel吧,直接用Composer require下就好了,我之前也写了个读取和生成excel的库,后面兼容性什么的比较麻烦,就直接用PHPExcelどの形式の Excel ファイルを生成しましたか?結局のところ、他の人が多くの穴を埋めてくれました。

さらに、PHPExcel の文字列処理方法については上で説明しました。

2 階にコピー:

リーリー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。