0

PHPリーダーを使用して、「01」のような番号のExcelファイルを読み取る必要がある場合はどうすればよいですか?

="variables" のようなデータは読みません。

他の Excel リーダーを使用する必要がありますか?

「mso-number-format」を使用して、そのようなファイルをダウンロードする際の処理方法を知っています。

私を助けてください。

require_once '../../lib/reader.php';
$data = new Spreadsheet_Excel_Reader();

$data->setOutputEncoding('utf8');
$data->read('data/'.$_FILES["FILE1"]["name"]);
error_reporting(E_ALL ^ E_NOTICE);


for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {


            for ($j = 1; $j <= $data->sheets[0]['numCols']+1; $j++) {
        $strValue = addslashes(trim(strip_tags($data->sheets[0]['cells'][$i][$j]))); // addslashes , trim, strip_tags

        if ($j ==1) $a = $strValue; // 
        if ($j ==2) $b = $strValue; // 
        if ($j ==3) $c = $strValue; // 
    }

echo $a.$b.$c

4

1 に答える 1

0

Excel ワークシートから数値を読み取っている場合、文字列ではなく単純な数値として保持される可能性があります。それを読み取って、sprintf() または str_pad(); を使用してフォーマットします。または、セルの数値書式マスクを確認して、それを数値に適用します。

編集

セル値を文字列として設定したり、書式マスクを適用したりする代わりに、数式を使用するように誰かがワークブックをいじっているようです (特に賢明ではありません)。

Spreadsheet_Excel_Reader のコード (行 1424 ~ 1429) を見ると、結果が文字列値になる数式の読み取りが処理されますが、実際にはセルに文字列値が設定されていません (これが空のセル値を取得している理由です)。 ...これは明らかにライブラリのバグです。これを修正する必要があります。または、文字列の結果値を与える数式を実際に読み取ることができる Excel ライブラリに切り替えます。または、元のスプレッドシートを修正して、'001' 値を数式ではなく文字列またはフォーマット マスクされた数値として設定します。

于 2012-09-17T09:50:11.553 に答える