2011-12-05 6 views
0

PHP Excel Readerライブラリを少し変更する必要があります。 http://code.google.com/p/php-excel-reader/PHP XLS 2003(Excel)ファイル - セルの垂直方向の位置を検出する

セルの縦方向の配置(上、中央、下)のサポートを追加したいと考えています。ここで

は通常のアライメントが検出された方法は次のとおりです。

    $alignbit = ord($data[$pos+10]) & 3; 

そしてここでは、Excel 2003形式の仕様です:

http://sc.openoffice.org/excelfileformat.pdf

私はこれが正しい設定であるかどうかわからないんだけど:

誰かが私は($ alignbitに似ています)垂直アライメントを取得するために必要なビットを知っていますか? (6つの可能性の1)

enter image description here

enter image description here おかげで、 ウェズリー

答えて

0

あなたができるので、個人的に、私は

$horizontalAlign = (0x07 & ord($data[$pos+10])) >> 0; 

ではなく

$horizontalAlign = ord($data[$pos+10]) & 3; 

を使用したいですマットCH同じ原理を使用して、より明らか

仕様定義とアップマスク(0x07の)は、垂直配向ので、

$verticalAlign = (0x70 & ord($data[$pos+10])) >> 4; 
switch ($verticalAlign) { 
    case 0: 
     // VERTICAL_TOP 
     break; 
    case 1: 
     // VERTICAL_CENTER 
     break; 
    case 2: 
     // VERTICAL_BOTTOM 
     break; 
    case 3: 
     // VERTICAL_JUSTIFY 
     break; 
    case 4: 
     // VERTICAL_DISTRIBUTED 
     break; 
} 

PSビット6-4、0x70マスクです。なぜ、あなたはまだ完全な仕様を公開しているときに、Open Officeの部分仕様を使用していますか

+0

非常にありがとう、ああ、ありがとう。私はms 2003の公式仕様があることを知らなかった?しかし、ありがとう。 – Wesley

+1

.xls BIFFファイルの完全な仕様は、http://msdn.microsoft.com/en-us/library/cc313154(v=office.12).aspx - PHPExcelの開発者にとって貴重なリソースです –

関連する問題