タグ

2015年1月22日のブックマーク (3件)

  • [Excel で VBA] 初めての VBA

    ページで初めての VBA プログラミングを体験しよう。 プログラムを書き始めるまでの準備 プログラミングと実行 プログラムの実行に関する注意 コメント文 複数行を1行に 1行を複数行に 保存と読み込み ソースコードの印刷 プログラムを書き始めるまでの準備 前ページで学んだように、まず Excel を起動して空白のブックを開く。 下図のように「開発」タブをクリックしてから「Visual Basic」というアイコンをクリックしよう。 すると、以下のように Microsoft Visual Basic for Applications というウィンドウが立ち上がる。 デフォルトで下図のような状態になるので覚えておこう (これから毎回登場する)。 今後、この Visual Basic を用いてプログラミングを行ってゆくわけである。 プログラムの記述を始めるには、まず、メニューから「挿入」→「標準

    [Excel で VBA] 初めての VBA
  • 【PHP】PHPExcelがループ内でメモリを使いすぎる

    PHPExcelを使って、ループしながら帳票をシートに書き出しているときにあまりにメモリを使うのでいろいろ調査したメモ。 処理の流れとしては 元になるエクセルのテンプレートファイルを読み込み 最初のシートを非表示にしておく 最初のシートをコピーして帳票を描画 2ページ以降も最初のシートをコピーして追加 ファイルとして書き出し ここまでを必要な分だけループして、出来たエクセルをzip形式で圧縮してダウンロード。 「シートをコピーして追加する」の処理がメモリを大量に消費する。コピーするごとにメモリ消費量が倍になっていくみたい。 なので、PHP-Excelで「シートをコピーして追加する」はやらない方がいい。追加したいタイミングでテンプレートファイルを読み込んで追加すると余計なメモリをわない。 require_once(PW_VENDORS_DIR ."/PHPExcel/Classes/PHP

  • PHPExcelで大きいエクセルファイルを読み込んだ際にFatal error: Allowed memory size of XXXXX exhausted

    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で大きいエクセルファイルを読み込んだ際にFatal error: Allowed memory size of XXXXX exhausted