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
PHP Excelで文字の自動改行をしたい。 ここに記載されているプロパティの設定でOK。 http://phpexcel.codeplex.com/Thread/View.aspx?ThreadId=18434 $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true); ただ、PHPExcelをnewするときは問題ないけれど、テンプレートファイルをロードして書き込むとテンプレートファイルの行高さがずっと保持されたままの状態になるらしい。 自動改行設定した後に行高さを調整しないとキレイに出力されない。 // テンプレートファイルの読み込み $reader = PHPExcel_IOFactory::createReader('Excel5'); $excel = $reader->lo
<?php // PHPExcelを読み込む require_once 'PHPExcel.php'; require_once 'PHPExcel/IOFactory.php'; // PHPExcelオブジェクト $book = new PHPExcel(); // シートの設定 $book->setActiveSheetIndex(0); $sheet = $book->getActiveSheet(); // セルの上側に罫線を引く $sheet->getStyleByColumnAndRow(0, 1)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); // Excel2007形式のファイルで保存 $writer = PHPExcel_IOFactory::createWrit
ウェブサーバ上で、アップロードされた画像をMS Excelに張り付け、そのファイルをダウンロードするシステムの見積依頼が来たので、下調べにプロトタイプを作ってみました。 PHPExcelを使えば出来そうなんですが、なかなかネット上に情報がなく、仕方ないので、PHPExcelに添付のドキュメントを読むことに。意外と丁寧に書かれてあって、わかりにくそうな機能にはちゃんとサンプルコードも添えられており、あっさり動いてくれました。 これはその時の備忘録。 【準備するもの】 PHPExcel(http://phpexcel.codeplex.com/からダウンロード) PHP5.2以上 php_zip (.xlsx, .odsファイルを扱わない場合は不要) php_xml php_gd2 *サーバはアイルの+Infinito Plusにしました。何も追加することなく動きます。 【手順】 PHPExc
$sheet->getStyle( 'A1:A3' )->getBorders()->getAllBorders()->setBorderStyle( PHPExcel_Style_Border::BORDER_THIN ); // カラムx1:y1からx2:y2の範囲の場合 $sheet->getStyle( PHPExcel_Cell::stringFromColumnIndex($x1).$y1.':'.PHPExcel_Cell::stringFromColumnIndex($x2).$y2 )->getBorders()->getAllBorders()->setBorderStyle( PHPExcel_Style_Border::BORDER_THIN ); getStyleで複数のセルを指定するのがポイント。あとはgetBordersメソッド、getAllBordersで各
June 2016 (1) May 2016 (1) January 2016 (1) December 2015 (1) November 2015 (1) October 2015 (1) September 2015 (2) August 2015 (1) July 2015 (1) June 2015 (2) May 2015 (2) April 2015 (1) March 2015 (1) January 2015 (1) December 2014 (3) October 2014 (5) September 2014 (2) February 2014 (2) July 2013 (3) June 2013 (1) January 2013 (2) December 2012 (1) November 2012 (1) October 2012 (5) September
はじめに PHPExcelは、PHPでExcelファイルを生成できるライブラリです。Excel2007形式のファイルの読み書きができ、ワークシート、セル、罫線、図形、コメント等の操作ができます。 入手方法 PHPExcelはCodePlexからダウンロードできます。ライセンスはLGPLで、執筆時点の最新バージョンは1.6.5です。ダウンロードページには「PHPExcel」と「PEAR PHPExcel」の2種類がありますが、ここでは「PHPExcel」を入手します。 実行環境 PHPExcelを利用するには以下の環境が必要になります。 ・PHPバージョン5.2以上 ・PHP拡張モジュール「php_zip」 本稿ではPHPのバージョン5.2.9を使って動作確認を行いました。また、php_zipを利用するため、php.iniの「extension=php_zip.dll」と「extension
この記事は「PHP、PHPExcelでExcel出力(ファイル保存)」の内容を 理解していることを前提に書いていますので、 よく分からん方はそちらからご参照下さいm(__)m さて、「PHP、PHPExcelでExcel出力(ファイル保存)」で PHPでのExcelファイル出力の方法を書いた訳ですが、 PHPってことは大部分がWebシステムじゃないですか。 ぶっちゃけどっかにファイル保存する機会より ダウンロードさせる方が圧倒的に多いですよね(--? と言う訳でExcel出力&ダウンロードのサンプルφ(--) <?php //ライブラリ読み込み require_once './Classes/PHPExcel.php'; require_once './Classes/PHPExcel/IOFactory.php'; // PHPExcelオブジェクトを生成する $book = new P
研修前の段階でExcelで作ったテーブルをCSVファイルで保存し、特定のセルの値を特定のフォームに入れる、ということをやってました。 今回はその逆、入力したフォームを元にExcelで読み込むファイルにするというもの。 CSVならまだしも最初からxlsやxlsxで保存するなんてことできんのか?と思ってたら PHPExcel というライブラリを見つけました。 このライブラリ、普通のExcel上ですることを全てプログラムコード上でやっちゃうという便利なライブラリのようです。使わない手は無い。 と、言っても新しく使うライブラリなんて「どんな機能があるの?」と言って結局生かしきれないことが多いのですけれども・・・ とりあえず今回はそんなPHPExcelの話。 fuelPHPは・・・今回は関係ないはず。 とりあえずまずしなきゃいけないこと。 とりあえずライブラリをダウンロードしてきましょう。 http
この記事は「PHP、PHPExcelでExcel出力(ファイル保存)」の内容を 理解していることを前提に書いていますので、 よく分からん方はそちらからご覧下さいm(__)m ついでに「PHP、PHPExcelでExcel出力(ファイルダウンロード)」も 先に読んでいただけるとサンプルが理解しやすいと思います。 さて、「PHP、PHPExcelでExcel出力(ファイル保存)」と 「PHP、PHPExcelでExcel出力(ファイルダウンロード)」で PHPでのExcelファイルダウンロードの方法を書いた訳ですが、 一からExcelファイル作るのって面倒じゃないですか。 やっぱりあらかじめテンプレートファイルを用意しておいて それをベースにちょっと値を埋めて出力したりしたいですよね。 と言う訳でサンプルφ(--) <?php //ライブラリ読み込み require_once './Class
たいそうな見出しをつけましたが、ようは上の画像のように、EXCELっぽいインターフェースなんだから、見積書なんぞに使えるんでねぇの?ということです。 Handsontableについては、前回の記事を参考にしてください。 今回は、HTML+PHP+MySQL+Javascript(jQuery)と「Handsontable」を使って、上の様なことをやってみたいと思います。 とはいえ、HTMLのところはそれほど難しくないです。前回とまったく同じ。 Excel風インターフェースを表示したい部分にIDを指定した要素を配置しておきます。 <div id="excel"></div> そして、PHP+MySQLから必要なデータを取得しておきます。見積・請求の詳細データですね。 // 結果を格納する配列 $details = array(); // SQLでごにょごにょやってデータをとってきます $sq
先日自分が今作っているweb勤怠登録にphpExcelライブラリを入れました。 今回はphpExcelの基本構文や、プログラム的に使えると思ったことをまとめます。 とりあえずphpExcelで何かするにはライブラリを読み込み、アクティブシートの宣言をしなくてはなりません。 //ライブラリ読み込み require_once 'PHPExcel/PHPExcel.php'; require_once 'PHPExcel/PHPExcel/IOFactory.php'; // PHPExcelオブジェクトを生成する $book = new PHPExcel(); //シート設定 $book->setActiveSheetIndex(0); $sheet = $book->getActiveSheet(); $sheet->setTitle('sheet name'); //シート名指定 p
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く