东风夜放花千树 随笔文章 查看内容

免装office wps在delphi下几行代码简单快捷导出word格式文档,php也适用 ...

2019-8-14 20:15| 发布者: finer| 查看: 9549| 评论: 0

摘要: 如果需求只是简单的将文字,表格等内容转为word,还有一个投机取巧的方法可用。
有时需要将数据导出为word格式,常规做法是用com组件或者ole服务,这都要求客户端安装有office。
或者使用第三方组件来生成word文档,还有就是xml格式使用freemarker之类的工具也行。
但这些方法都工作量不小。如果需求只是简单的将文字,表格等内容转为word,还有一个投机取巧的方法可用。
严格意义上这不是正统的word文档。而是利用word兼容html的特性生成html文档然后加上特定标记而成。
Talk is cheap. Show me the code.
代码如下:
str1:= Tstringlist.Create;
         str1.Add('<html xmlns:v="urn:schemas-microsoft-com:vml"');
         str1.Add('xmlns:o="urn:schemas-microsoft-com:office:office"');
         str1.Add('xmlns:w="urn:schemas-microsoft-com:office:word"');
         str1.Add('xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"');
         str1.Add('xmlns="http://www.w3.org/TR/REC-html40">');
          for I := 0 to memo1.Lines.Count-1 do
              str1.Add(memo1.Lines.Strings[i]+'<br>');
         str1.Add('</html>');
       str1.SaveToFile(filename);
       str1.Free;

此代码把memo里面的文本保存为doc格式。用wps打开正常。
html下的字体,颜色,大小,表格等这些应该都没问题。但图片能否保存在文件内没仔细测试过。
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAA……"alt="">
用这个能在html文件内显示内嵌的图片,但放到doc里,在wps下打开能显示图片框但没图片。手头没装office,word下没测试。

路过

雷人

握手

鲜花

鸡蛋

最新评论

东风夜放花千树  浙ICP备19024182号-2   浙公网安备 33078202001030号

GMT+8, 2024-11-21 14:37 , Processed in 0.029351 second(s), 15 queries .

Powered X3.4

© 2001-2017

返回顶部