Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
PHPExcelで大きなファイルを読み込んだ際、 Fatal error: Allowed memory size of 67108864 bytes exhausted というエラーが発生する。 デフォルトはメモリにセルの内容をキャッシュしているため、大きなファイルを扱う際にはメモリ不足に陥る。 回避方法としてキャッシュの種類を変更できる仕組みがある 変更先は、ディスク,APC,memcache,wincache,sqlite, キャッシュの種類 PHPExcel developer documentationのCell Cachingより PHPExcel_CachedObjectStorageFactory::cache_in_memory デフォルト。メモリにセルオブジェクトをそのままメモリに保存 PHPExcel_CachedObjectStorageFactory::cache
PHPExcelのループ書き込みはあまり好きじゃない たいした話じゃないけれど。 PHPには PHPExcel というライブラリがある。 読んで字のごとくPHPでExcelを作れる便利なライブラリ。 値を入力する場合、たいていループで入力していきます。 DBから値セットを取得してforeachで回すというのが定石でしょう。 <?php $excel = new PHPExcel; $sheet = $excel->getActiveSheet(); $sheet->setTitle('ジョジョシート'); $data_set = array( array('id' => 1, 'name' => 'ジョナサン', 'stand' => null), array('id' => 2, 'name' => 'ジョセフ', 'stand' => 'ハーミット・パープル'), array('id'
まさかの1日明けでアドベントカレンダーの順番が回ってきました。 生まれ変わって元素になるなら、アルミニウムになりたい ・・・という設定らしい1年目の新人、萩原です。 さて、前回はPHPExcelとReviserの機能について比較を行いました。 機能としてReviserも十分な機能を持ち合わせていますが、PHPExcelの方が優れているという結論でした。 スピードの比較 さて、実際に運用していく上でスピードは重要なポイントだと思います。 ファイルダウンロードに時間がかかってしまってはストレスもたまりますしね。 というわけで、今日は、スピードについて検証していくことにします。 今回、クリックしてからダウンロードを開始する直前までの時間を測定しています。 ソースにmicrotime(‘now’)を埋め込んでいる&virtualBox上のCentOSなので時間自体は正確ではない(というか倍くらい時
好きな元素はイッテルビウム(元素記号:Yb) ・・・という設定になっているらしい1年目の新人、萩原です。よろしくお願いします。 大学院では化学を専攻しておりました。 今回アドベントカレンダーということで順番が回ってきましたのでExcelについて触れていこうと思います。 普段、CakePHPを使って仕事をしているのですが、その中でPHPでエクセルを出力すると言う場面によく出くわします。 弊社ではExcelの出力には、基本的にReviserを使用しているのですが、たまたまPHPexcelを使う機会もありましたので、今回、これら二つのPHP用のExcel出力機能について比較を行っていきたいと思います。 両者ともに、基本的にPHP5.2以上対応となっています。 PHP5.1でも使用することは可能ですが、PHPExcelの場合はExcel2007形式(.xlsx)の出力ができません。(体験済) Re
クラウド時代のWebアプリケーション・スマートフォンアプリを開発・運用する会社です。 03-4577-8680 03-6673-4950 ネタバレ:犯人は ヤス xdebug。 PHPExcelというPHPライブラリがありまして、PHPでシンプルなExcelを生成するのに便利なので、何かと利用しているわけです。 #「シンプルな」というのはどういうことかと言うと、 #既存のExcelファイルを開いて操作することも可能ではあるのですが、 #いわゆる「Excel方眼紙」や、図表が入っている場合には、ほぼ再現できないためです。 さて、このPHPExcel、「遅い」ともっぱらの評判です。 しかし。 手元の環境で、 ・6×50行 ・150シート というデータで生成しているのですが、これが10分以上かかる(!)というのは、さすがに何かおかしいと思うわけです。 検索した結果、高速化させる方法としていくつか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く