ホームページ  >  記事  >  バックエンド開発  >  phpexcelからxlsファイルを書き出す際に電話番号やIDカードが科学表記で表示される問題を回避する方法についてアドバイスをお願いします!

phpexcelからxlsファイルを書き出す際に電話番号やIDカードが科学表記で表示される問題を回避する方法についてアドバイスをお願いします!

WBOY
WBOYオリジナル
2016-06-23 14:22:471032ブラウズ

最近のプロジェクトでは、エクスポートに phpexcel を使用しましたが、うまくいきましたが、いくつかの問題が発生しました。つまり、エクスポートされたデータ列に次のタイプのデータが含まれている場合、自動的に表示されます。科学表記法を教えてください。私が使用しているバージョンは 1.7.6 です。他に何かご存知のことがあれば教えてください。


ディスカッションへの返信 (解決策)

$objStyleA5    ->getNumberFormat()    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

1 階の人の言うとおり、あなたは正常ですか??
私も 1.7.6 を使用していますが、動作しません..
でも、ちょっとしたコツがあります。それを解決するには、
シンボル値が
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(0, $i, ' '.$rs['cardnum']) である必要はありません。 );

注: ここにスペースを追加します。Excel はデフォルトで文字列として扱います。スペースを追加することでも解決できますが、2 階の兄弟はスペースを空けておくといつも不快になります。他に何か良いアイデアはありますか? !

ソースコードの一部を変更することで実現できるという記事がネット上にありますが、私が使用しているバージョンが高すぎるため、記載されているソースコードがどこにあるのかわかりません。もっと良い方法があれば教えてください。それを解決するには、私に知らせてください、ありがとう! ! !


$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(0, $i,$rs['cardnum'],PHPExcel_Cell_DataType::TYPE_STRING);
セルの種類をテキスト型として指定します。
以前のバージョンは科学的表記法で指定および表示されているようです。そのため、新しいバージョンでは型を指定するだけです。
方法 2: $objActSheet->setCellValueExplicit('A1', '330602198804224688', PHPExcel_Cell_DataType::TYPE_STRING);

方法 3:
$objActSheet->setCellValue('A1', '3306021988042246) 88');
$objActSheet->getStyle ('A1' )->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

個人的には、方法 2 が最適だと思います

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