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的值比这个多

  • 相关阅读:
    Bit,Byte,Word,Dword,Qword
    One good turn deserves another
    IHttpModule & IHttpHandler
    畅想:哈夫曼树的应用
    The Controls collection cannot be modified because the control contains code blocks
    Talk O/RM (DAL) too ...
    实现对象集合枚举接口
    [ZT]实现创造生命的古老梦想——合成生物学的发展走向
    笔记本基础知识篇之DVI接口详解
    Analysis Services: write back
  • 原文地址:https://www.cnblogs.com/huangcong/p/1697044.html
Copyright © 2011-2022 走看看