大佬教程收集整理的这篇文章主要介绍了在Windows系统下使用PHP生成Word文档的教程,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,请确保在你的Windows系统中已经安装并配置好了一个典型的WAMP环境。由于Interop纯粹是一个Windows的特性,我们将在Windows平台下搭建Apache和php。在这个实例中,我使用了,这款软件安装和配置都十分容易。
接下来,我们要安装Microsoft Office。版本不是严格要求的。我正在使用的是Office2013专业版,但是任何2007之后的Office版本都应该可以使用。
我们然后需要去确保开发Interop应用(又被称作PIA,优先交互组件)的库是安装好的。为了确保这个,我们可以打开资源管理器,然后找到
我们可以看到一个 Microsoft.office.Interop.Word 条目(在这个截图中有下划线)。 这就是我们在这个示例中将要使用的 PIA。请特别注意它的“名称”,“版本”和“公钥标记”。我们将要在php脚本中用到它们。
在这个目录中,我们还可以看到其它用于编程(不仅是php,还有VB.net,C#等)的PIAs(包括整个Office家族)。
如果这个列表没有包含 Microsoft.office.Interop 的整个包,我们可以重新安装office并且在安装中包含PIA;我们也可以手动下载安装这个包。安装的详细步骤可以查阅。
注意:只有Microsoft Office 2010 PIA redistributable 可以被单独下载安装。这个包中的 PIA 版本是14.0.0。版本15只能通过安装office获得。
最后,我们需要在文件 php.ini 中启用 php 扩展 php_com_dotnet.dll,并且重启服务器。
现在我们可以开始编程了。
由于该demo主要关注与后台的处理,所以我们这里就用一个简单的HTML表单做前台的展示,看起来应该是这样的:
我们有一个文本框用于输入“name”,一个“gender”的单选按钮组,一个“Age”的域值控制还有一个文本域来写“message”,最后,还需要一个“Submit”按钮。
将该文件命名为“index.html”,保存在虚拟主机的根目录下,这样我们可以直接通过URL访问该文件,例如:http://test/test/interop
后台的php文件是我们所要讨论的核心部分。我先将代码贴到下面,接下来在一步一步的进行解释
php;">$inputs = $_POST;
$inputs['printdate']='';
// A dummy value to avoid a php notice as we don't have "printdate" in the POST variables.$assembly = 'Microsoft.office.Interop.Word,Version=15.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c';
$class = 'Microsoft.office.Interop.Word.ApplicationClass';$w = new DOTNET($assembly,$class);
$w->visible = true;$fn = DIR . '\template.docx';
$d = $w->Documents->Open($fn);
echo "Document opened.
";$flds = $d->Fields;
$count = $flds->Count;
echo "There are $count fields in this document.
";
echo "
foreach ($flds as $index => $f)
{
$f->SELEct();
$key = $mapping[$index];
$value = $inputs[$key];
if ($key == 'gender')
{
if ($value == 'm')
$value = 'Mr.';
else
$value = 'Ms.';
}
if($key=='printdate')
$value= date ('Y-m-d H:i:s');
$w->SELEction->TypeText($value);
echo "@H_576_101@mappig field $index: $key with value $value";
}
echo "
echo "Mapping done!
";
echo "PrinTing. Please wait...
";
$d->PrintOut();
sleep(3);
echo "Done!";
$w->Quit(false);
$w=null;
function setupfields()
{
$mapping = array();
$mapping[0] = 'gender';
$mapping[1] = 'name';
$mapping[2] = 'age';
$mapping[3] = 'msg';
$mapping[4] = 'printdate';
return $mapping;
}
以上是大佬教程为你收集整理的在Windows系统下使用PHP生成Word文档的教程全部内容,希望文章能够帮你解决在Windows系统下使用PHP生成Word文档的教程所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。