我有一个 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/