如何使用php刷新excel中的数据透视表

时间:2014-05-05 12:15:10

标签: php excel excel-2007 excel-2010

我有一个xls格式的文件,我需要每天刷新一次(在Excel中使用'全部刷新'按钮),然后从数据透视表中检索数据并将它们插入到数据库(MySQL)中。该文件从外部源获取数据(从sharepoint 2007检索数据)。

最简单的方法是如何做到的? 我在思考PHP,但我不知道你是怎么做的。从我读到的PHPExcel不支持此操作。 当您尝试使用COM时,我收到错误:

Fatal error: in D:\xampp\htdocs\sp\xls\index.php on line 11

这是一个PHP代码:

<?php

// Start Excel
$excel = new COM("Excel.Application") or die ("Could not load Excel.Application");

// Make Excel visible.
$excel->Application->Visible = 1; 

// Open  workbook
$Workbook = $excel->Workbooks->Open('D:/xampp/htdocs/sp/xls/emails.xls', 'r+') ;

// Refresh all
$Workbook->RefreshAll();

// Save updated excel file out to disk somewhere
$Workbook->SaveAs('D:/xampp/htdocs/sp/xls/emails.xls');

// Close all instances of excel:
$Workbook->Close(false);
unset($Workbook);

$excel->Workbooks->Close();
$excel->Quit();
unset($excel);
?>

我正在使用Windows 7和xampp与php 5.5.6

在php.ini中我添加了这一行:

extension=php_com_dotnet.dll

Alternate:是否可以在php中运行sharepoint生成的* .iqy文件?

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。

相反,通过在重新启动工作表期间收集数据的查询中指出的PHP刷新数据。为此我添加了this VBA脚本保存更改并关闭文件。

在添加的任务计划程序结束时,每天运行一次表单。 其余的使用PHPExcel从Excel下载数据。