• ベストアンサー

Excelに挿入するデータ形式を定義できないでしょうか?

今、PHPなどを使って、データをxlsに保存していますが、 数値の長いデータ 例:209030349054065 などとなると、正規表現になってしまいます。 これを正規表現ではなく、ふつうにテキスト形式で表示したいのですが、どのようにしたらうまくいくのでしょうか? ご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yoneda_16
  • ベストアンサー率47% (166/350)
回答No.3

えーと。たぶん、現在は「PHPからCSVを出力し、クライアント側でブラウザがExcelを起動することを期待している」、という形のアプリケーションを作成されているのですよね? 参考URLに記載した方法を使うと、「PHPからHTMLを出力し、かつクライアント側にExcelを起動してHTMLを開くよう要求する」ことができるようです。Excelのバージョンにもよりますが。 ついでに。下記のようなHTMLをEXCELに読み込ませると、数値と認識してもらえるようです。Excelのバージョンにもよりますが。 <html><head> <style>.x{mso-number-format:"0_ ";}</style> </head> <body> <table><tr><td class=x>789456123789456</td><td class=x>209030349054065</td></tr></table> </body></html>

参考URL:
http://www.bricklife.com/weblog/000051.html
aiurai54
質問者

お礼

ありがとうございます。

aiurai54
質問者

補足

HTMLで読みこませるというわけではなく、 配列に格納し、タブ区切りでデータを挿入して 出力の際に".xls"で保存しています。 このような場合は方法はないのでしょうか? 何かよい方法がありましたら、ご教授ください。

その他の回答 (2)

  • gicchon
  • ベストアンサー率34% (25/72)
回答No.2

保存先のセルを選択し、セルの書式設定ウィンドウで表示形式を文字列にしておけば良いと思います。

aiurai54
質問者

お礼

ファイルは自動で生成するため、 できればプログラム側で処理したいと考えています。

aiurai54
質問者

補足

補足とお礼が反対になってしまいましたが、 ありがとうございます。

  • yoneda_16
  • ベストアンサー率47% (166/350)
回答No.1

クライアントをOfficeXPに限定できるのであれば、XMLSSなどを使って数値あるいは文字列として書式を設定するとよいのではないでしょうか。 とにかく逃げられればいい、ということでしたら、数値の前に「'」をつけることで文字列として扱ってもらえるようです。 ちなみに「2.09E+14」というのは「正規表現」ではなく、「指数表示」と呼ぶのが一般的かと思います。

aiurai54
質問者

お礼

ありがとうございます。

aiurai54
質問者

補足

できれば、表示は"'"のような記号はつけたくないと思っております。

関連するQ&A

専門家に質問してみよう