C#编程生成的Word2007版本的文件如何兼容Word2003?(通过代码将docx文件转存为doc文件)
2008-10-21 15:45
1261 查看
以前用C#在Word2003下写的生成报表程序。现在大家都改用Office2007了,给程序做了下升级,发现生成的文档后缀都是docx了。
Office 2007 的 Word 文档格式为 Microsoft Open Office XML Format (.docx),这种格式不被老版本的 Office 兼容。Word2007 的文档格式与 Word97~2003 的二进制文档格式有根本的不同。Office 2007 的推出,全面启用了 OPEN XML 概念。Word、Excel、PowerPoint 文档已经默认保存为压缩的 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 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的值比这个多
Office 2007 的 Word 文档格式为 Microsoft Open Office XML Format (.docx),这种格式不被老版本的 Office 兼容。Word2007 的文档格式与 Word97~2003 的二进制文档格式有根本的不同。Office 2007 的推出,全面启用了 OPEN XML 概念。Word、Excel、PowerPoint 文档已经默认保存为压缩的 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 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的值比这个多
相关文章推荐
- 黄聪:C#编程生成的Word2007版本的文件如何兼容Word2003
- KEIL生成的bin文件如何通过代码有效性检测?
- 光脚丫学LINQ(024):如何通过修改DBML文件生成自定义代码
- Unity3d 通过json文件使用C#脚本代码生成多个相机
- Sql Server--通过生成脚本文件实现低版本“向上兼容”
- 光脚丫学LINQ(024):如何通过修改DBML文件生成自定义代码
- C#版本的备案接口pwdHash生成代码(测试通过)
- 从数据到代码——通过代码生成机制实现强类型编程[下篇]
- 如何把C#生成EXE文件
- C# 利用自带xsd.exe工具操作XML-如通过XML生成xsd文件
- 如何通过C#调用CHM帮助文件
- 通过文件结构直接生成xls文件的VB.Net和Java两个版本
- Eclipse 如何生成Lib库文件,提高代码通用性
- 如何通过命令行或者使用代码打开一个apk文件
- Ubuntu 11.04 Natty Narwhal 下如何通过打印输出方式生成 PDF 文件
- 创建代码生成器可以很简单:如何通过T4模板生成代码?[上篇]
- C#生成CHM文件(应用篇)之代码库编辑器(5)【总结、程序、源代码】
- 如何通过代码修改web.config文件?
- 如何使用CodeSmith自动生成C#代码
- 如何通过代码修改web.config文件