如何使用Php pack功能在excel文件中格式化导出的数据?

时间:2012-01-06 16:00:33

标签: php excel

我不知道如何使用Excel扩展格式。 我正在尝试添加'%'或红色(当数据属于零时)。

使用这些脚本:

    function xlsBOF() {
        echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);  
        return;
    }

    function xlsEOF() {
        echo pack("ss", 0x0A, 0x00);
        return;
    }

    function xlsWriteNumber($Row, $Col, $Value) {
        echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
        echo pack("d", $Value);
        return;
    }

    function xlsWriteLabel($Row, $Col, $Value ) {
        $L = strlen($Value);
        echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
        echo $Value;
    return;
    }


    xlsBOF();
      xlsWriteLabel(1,1,'Smth');


    $val = -12,23;
    /* This number should be exported red with %,
       i think i have to use this '0,00%;[RED]-0,00%' but no idea how
    */
    xlsWriteNumber(2,1,$val);

    xlsEOF();
    exit();

提前致谢。

1 个答案:

答案 0 :(得分:1)

您需要将样式信息写为样式(xf)条目,然后在xlsWriteLabel中设置0x0值以使用样式xf索引进行标识:

有关如何执行此操作的更详细说明,请参阅PHP to Excel, bold font(尽管有线程的标题,它确实标识了颜色设置和粗体),然后查看更好的库来编写Excel文件。 / p>

您可以在对this question

的回复中找到库列表