php - 将 VB 的 Format() 转换为 PHP

标签 php com excel vba

在 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() 函数吗?

提前致谢

最佳答案

FormatVBA.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/

相关文章:

excel - 源当前计算结果为错误 excel

php - 只有一个 MySQL 查询的两个 foreach 语句?

c++ - 缩略图提供程序不工作

visual-studio - 在启动时将调试器附加到进程

c# - 在 C# 中使用 C++ 组件对象模型

c++ - VBA Excel DLL 参数问题 - 第 6 个参数

java - Apache POI : using table column names in formula's

php - 如何将 PHP 代码存储在 mysql 表中

php - 如何将一个表数据插入另一个表列

javascript - 如何闪烁一个div直到它关闭?