php - 带有嵌入图表的 Excel.Application 复制表

标签 php vba excel charts

我有一个 php 页面,它使用 Excel.Application 来复制包含一些数据和嵌入图表的工作表。

代码是这样的:

$Excel=new COM("Excel.application");
$workbook=$Excel->Workbooks->Open($fileName);

//alternative 1
$workbook->Worksheets("Sheet1")->Copy(NULL,$workbook->Worksheets("Sheet2"));

//alternative 2
$added=$workbook->Worksheets->Add();
$added->Name=$destName;
$workbook->Worksheets($sourceName)->Range("A1:Z100")->Copy($added->Range("A1"));

$workbook->SaveAs($fileNameDest);

结果是数据和公式都被正确复制和格式化,但是sheet1中的图表没有复制到sheet2中。没有错误,没有异常,但也没有两种代码替代方案的图表。

谁能帮我完整地复制这张表?

谢谢!

最佳答案

存在权限问题:

  • 执行“dcomcnfg”
  • 打开组件服务 > 计算机 > 我的电脑 > DCOM 配置
  • 搜索“Microsoft Excel 应用程序”
  • 右键单击它并打开属性
    • 如果不存在运行“excel.exe -regserver”
  • 选择“身份”选项卡
  • 通常这被设置为“启动用户”。您必须将其更改为“交互式用户”或您选择的管理员用户。
  • 应用这些新设置并测试您的 COM 应用程序。现在应该可以正常工作了。

我从这里的评论中得到它:http://www.php.net/manual/en/class.com.php

关于php - 带有嵌入图表的 Excel.Application 复制表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23606809/

相关文章:

php - 将数据从 php 传回 ajax

php - 为什么不调用父构造函数?

ms-access - WScript.Shell 运行时错误 - IwshShell3 失败

vba - 将多个范围复制到数组中而不循环

Excel 连接

Excel——显示从今天起 X 个月的日期

php - 请求超过 10 个内部重定向的限制 - .htaccess

php - 在 PHP 中选择具有特定条件的数组中的值

excel - 如何使用 vba 命令删除某个值?

c# - 使用 XDocument 编写原始 XML