在 PHP 中,我尝试使用 COM() 读取 Excel 文件:
$rrc_app = new COM("Excel.application");
$rrc_workbook = $rrc_app->Workbooks->Open($filename);
$rrc_worksheet = $rrc_workbook->Worksheets('Top sheet');
$rrc_worksheet->activate;
我尝试提取包含“时间”值的单元格的值:
$review_time = $rrc_worksheet->Range("C30")->value;
但是,它返回一个十进制数:
0.604166666667
我知道我可以使用VB的Format()函数,但我不知道从PHP中的哪个对象调用它。以下内容:
$review_time = Format($rrc_worksheet->Range("C30")->value, "hh:mm:ss");
给予:
Fatal error: Call to undefined function Format() in C:\xampplite\htdocs\pmc\index.php on line 40
你知道我如何使用 PHP 调用这个 Format() 函数吗?
提前致谢
最佳答案
Format
是 VBA.String
模块的一个函数,因此它不是 Excel COM 库的一部分,我不确定是否可以通过 COM 访问它全部。
但是,您可以使用 Text
属性而不是 Value
:这将返回格式化字符串(根据 Excel 中的单元格格式)而不是基础值:
$review_time = $rrc_worksheet->Range("C30")->Text;
编辑:如果单元格尚不具有正确的格式,您可以在读取 Text
属性之前更改格式(未经测试):
$rrc_worksheet->Range("C30")->Select();
$rrc_app->Selection->NumberFormat = "hh:mm:ss";
$review_time = $rrc_worksheet->Range("C30")->Text;
关于php - 将 VB 的 Format() 转换为 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2036982/