求助:关于PHP 读写 Word文档的问题!
cwind 2004-12-09 10:12:42 1、尝试了6台机器,硬件配置差不多,windows2000+php4.4.5(一台4.4.3)+Apache/1.3.29 (Win32) ,其中有三台PHP可以读写word文件。另三台出现如下的错误:
Warning: (null)(): Unable to obtain IDispatch interface for CLSID {000209FF-0000-0000-C000-000000000046}: 服务器运行失败
检查注册表的CLSID未发现异常,请教各位大侠其中的原因。
2、使用PHP写入word文档的时候发现如果写汉字(或者其他的双字节的文字)的时候在文字的最后出现乱码,似乎是通过com写字符,自动转换unicode的时候出现字符串的长度计算错误,以至于出现了乱码填充。
代码如下
<?
$word = new COM("word.application") or die("无法启动 Word 程序!");
$word->Visible = 0;
$n=$word->Documents->Add();
## 分节符号
$n->Sections->Add($word->Selection->Range,0);
## Sections(1)第一小节
$s1=$n->Sections(1);
$s1->PageSetup->BottomMargin=10;
## Paragraphs(1) 第一段落
$s1->Range->InsertBefore("企鹅帝国元年-诗词多首排版测试");
$s1->Range->InsertParagraphAfter;
$s1->Range->InsertBefore("大标题-诗词歌赋\n");
$word->DefaultSaveFormat=""; ## 存档模式,默认DOC
$word->Documents[1]->SaveAs("D:\\test\\a.doc");
$word->Quit();
$word->Release();
$word = null;
?>
这是参考了网上的一段代码,我曾经自己写的也是类似代码(COM("word.application",null,CP_UTF8) ;$word->Selection->TypeText($str);),也出现同样的问题。
请问大家如何解决,非常感谢!!!!