zoukankan      html  css  js  c++  java
  • 黄聪:C#编程生成的Word2007版本的文件如何兼容Word2003

    以前用C#在Word2003下写的生成报表程序。现在大家都改用Office2007了,给程序做了下升级,发现生成的文档后缀都是docx了。

    Office 2007 Word 文档格式为 Microsoft Open Office XML Format (.docx),这种格式不被老版本的 Office 兼容。Word2007 的文档格式与 Word97~2003 的二进制文档格式有根本的不同。Office 2007 的推出,全面启用了 OPEN XML 概念。WordExcelPowerPoint 文档已经默认保存为压缩的 XML 格式,所以其大小也大大减小了。

    也就是说B/S模式下,客户端下载下生成的docx文件后,需要安装Office 2007,或者安装 Office 2007 Compatibility Pack for Windows才能打开。有手动更改到2003兼容模式的办法:

    单击Word 2007左上角的“Office按钮”,在展开的菜单中单击“Word选项”按钮打开“Word选项”,接着打开“保存”标签页,设置“将文件保存为此格式”下拉列表为“Word 97-2003 文档(.doc)”,这样的话以后就会默认保存为doc格式了。

    但这样并不方便。我们需要的最好是能直接在服务器上生成能被2003打开的doc格式的文件。

    Word 2003 SaveAs代码
    object fileName =FileName;
                
    object optional = Missing.Value;
                
                doc.SaveAs(
    ref fileName,ref optional,ref optional,ref optional,ref optional,ref optional, ref optional, ref optional, ref optional,
                        
    ref optional, ref optional, ref optional,
                        
    ref optional, ref optional, ref optional, ref optional);

    这样保存的是默认的文档格式,2007下为docx。

     

    要存为doc格式,关键在与SaveAs的第二个参数FileFormat上,FileFormat设置文档的保存格式。可以是任何 值。要以另一种格式保存文档,请为 属性指定适当的值。

    Word 2007下SaveAs代码
    object FileFormat=Word.WdSaveFormat.wdFormatDocument;//改变文档格式,不能设为wdFormatDocumentDefault
    doc.SaveAs(ref fileName,ref FileFormat,ref optional,ref optional,ref optional,ref optional, ref optional, ref optional, ref optional,
                        
    ref optional, ref optional, ref optional,
                        
    ref optional, ref optional, ref optional, ref optional);

    好了,重新运行程序,生成的文档为doc格式,放到2003下打开,ok没问题了。

    参考资料:

    SaveAs 方法:http://msdn.microsoft.com/zh-cn/library/microsoft.office.tools.word.document.saveas(VS.80).aspx

    WdSaveFormat 枚举值http://msdn.microsoft.com/zh-cn/library/microsoft.office.interop.word.wdsaveformat(VS.80).aspx不过这个估计是Word2003的,2007的值比这个多

  • 相关阅读:
    UVA 10617 Again Palindrome
    UVA 10154 Weights and Measures
    UVA 10201 Adventures in Moving Part IV
    UVA 10313 Pay the Price
    UVA 10271 Chopsticks
    Restore DB後設置指引 for maximo
    每行SQL語句加go換行
    种服务器角色所拥有的权限
    Framework X support IPV6?
    模擬DeadLock
  • 原文地址:https://www.cnblogs.com/huangcong/p/1697044.html
Copyright © 2011-2022 走看看