[PHP-users 31623] Spreadsheet::WriteExcelを使用してBitmapの表示

AMO 伊東 丈仁 itoh @ amoffice.co.jp
2007年 3月 5日 (月) 21:00:13 JST


はじめまして。伊東と申します。

サーバOS:Linux/Fedora Core3
WEBサーバ:Apache2.0.53
PHP:4.3.11
GD/JPG/PNG/WBMP サポートしています。

Spreadsheet_Excel_Writerでエクセルファイルに画像を挿入したいのですが、
「test.bmp doesn't appear to be a valid bitmap image.」
とエクセルは作成しますが、BMPファイルがうまく作成できません。

/*-以下はソースです。------------------------*/
<?php
  require_once('Worksheet.php');
  require_once('Workbook.php');

  function HeaderingExcel($filename) {
      header("Content-type: application/vnd.ms-excel");
      header("Content-Disposition: attachment; filename=$filename" );
      header("Expires: 0");
      header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
      header("Pragma: public");
  }
  HeaderingExcel('test.xls');

  $workbook = new Workbook("-");
  $worksheet1 =& $workbook->add_worksheet('First');

// 画像挿入
  $worksheet1->write(0,0,"test");
  $worksheet1->insert_bitmap(1,1,'test.bmp');

  $workbook->close();
?>
/*-ここまで---------------------------------*/

YAHOOの翻訳機能で確認すると
「test.bmpは、有効なビットマップイメージであるように見えません。」
とありますが、別のサーバでは、問題無く表示できます。

サーバOS:Linux RaQ550 コバルト
WEBサーバ:Apache1.3.20
PHP:4.2.2
GD/JPG/PNG/WBMP サポートしています。
すべて、同じソースとBMPファイルを使用しています。

海外のサイトで、同じような質問を見つけました
http://pear.php.net/bugs/bug.php?id=6811

「insert_bitmap」ではなく「insertBitmap」では?という回答のようですが、
Worksheet.phpを見る限り、「insert_bitmap」で間違いないです。

ご指導いただけないでしょうか。宜しくお願い致します。



PHP-users メーリングリストの案内