`
suizhikuo
  • 浏览: 28937 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

类似QQ邮箱中‘HTML方式查看’功能查看Office文件

 
阅读更多

完成类似QQ邮箱中‘HTML方式查看’功能查看Office文件完成类似QQ邮箱中‘HTML方式查看’功能查看Office文件

完成类似QQ邮箱中‘HTML方式查看’功能查看Office文件。

  我们在做一些系统的 下载模块 或者 内部邮箱 的时候,有些使用系统的人可能并没有安装office,但是又急需查看附件的内容甚至图片等等,下载安装一个Office又不大现实(时间要求紧?在某个网吧?在朋友家里?),那么如何查看一些常用的附件呢?

  其实QQ邮箱有个功能很好,它可以以 HTML方式查看 Office文件,例如Word文档、Excel表格已经PowerPoint幻灯片等,这个功能有很多实现的办法,例如使用SPS就是办法之一,但是其实大部分时候,我们用不到SPS,或者由于正版软件太贵了,那如何使用ASP.NET 2.0(C#)来实现这个功能?

  注意:以下代码在vs2008,office2007,windowsxp下测试通过,项目需要添加Excel 12、Word12、PowerPoint12、Office12 四个com引用

        /// <summary>
        /// 将PPT文件转换成HTML格式
        /// </summary>
        /// <param >PPT文件路径</param>
        public static void PptToHtmlFile(string PptFilePath)
        {
            Microsoft.Office.Interop.PowerPoint.Application ppt = new Microsoft.Office.Interop.PowerPoint.Application();
            Microsoft.Office.Interop.PowerPoint.Presentation pptFile = null;
            try
            {
                //获得html文件名
                string htmlFileName = PptFilePath.Substring(0, PptFilePath.LastIndexOf(".")) + ".html";
                //打开一个ppt文件
                pptFile = ppt.Presentations.Open(PptFilePath, Microsoft.Office.Core.MsoTriState.msoTrue,
                    Microsoft.Office.Core.MsoTriState.msoCTrue, Microsoft.Office.Core.MsoTriState.msoFalse);
                //转换成html格式
                pptFile.SaveAs(htmlFileName, Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsHTML,
                    Microsoft.Office.Core.MsoTriState.msoCTrue);
            }
            finally
            {
                if (pptFile != null)
                {
                    pptFile.Close();
                }
                ppt.Quit();
                GC.Collect();
            }
        }

        /// <summary>
        /// 将Excel文件转换成HTML格式
        /// </summary>
        /// <param >Excel文件路径</param>
        public static void ExcelToHtmlFile(string ExcelFilePath)
        {
            Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook oBook = null;
            // 缺省参数
            object Unknown = Type.Missing;
            try
            {
                //目标html文件路径
                object Target = ExcelFilePath.Substring(0, ExcelFilePath.LastIndexOf(".")) + ".html";
                //为了保险,只读方式打开
                object readOnly = true;
                // 指定另存为格式(html)
                object format = Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml;

                //打开Excel文件
                oBook = excelApp.Workbooks.Open(ExcelFilePath, Unknown, readOnly,
                    Unknown, Unknown, Unknown, Unknown, Unknown, Unknown,
                    Unknown, Unknown, Unknown, Unknown, Unknown, Unknown);

                // 转换格式
                oBook.SaveAs(Target, format, Unknown, Unknown, Unknown, Unknown,
                     Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                     Unknown, Unknown, Unknown, Unknown, Unknown);
            }
            finally
            {
                if (oBook != null)
                {
                    oBook.Close(false, Unknown, Unknown);
                }
                excelApp.Quit();
                GC.Collect();
            }
        }

        /// <summary>
        /// 将Word文档转换成HTML格式
        /// </summary>
        /// <param >Word文档格式</param>
        public static void WordToHtmlFile(string WordFilePath)
        {
            Microsoft.Office.Interop.Word.Application newApp = new Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document doc = null;
            // 缺省参数
            object Unknown = Type.Missing;
            try
            {
                // 指定原文件和目标文件
                object Source = WordFilePath;
                object Target = WordFilePath.Substring(0, WordFilePath.LastIndexOf(".")) + ".html";
                //为了保险,只读方式打开
                object readOnly = true;
                // 指定另存为格式(html)
                object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML;

                // 打开doc文件
                doc = newApp.Documents.Open(ref Source, ref Unknown, ref readOnly,
                    ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);

                // 转换格式
                doc.SaveAs(ref Target, ref format,
                    ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);
            }
            finally
            {
                if (doc != null)
                {
                    // 关闭文档和Word程序
                    doc.Close(ref Unknown, ref Unknown, ref Unknown);
                }
                newApp.Quit(ref Unknown, ref Unknown, ref Unknown);
                GC.Collect();
            }
        }


分享到:
评论

相关推荐

    QQ邮箱类似的多文件上传

    下面我们将深入探讨多文件上传的原理、实现方式以及与QQ邮箱类似的功能特性。 多文件上传的实现主要基于HTML5中的File API和Ajax技术。File API允许浏览器直接读取用户选择的本地文件,而Ajax则可以实现异步数据...

    多文件上传,模仿QQ邮箱

    这个主题“多文件上传,模仿QQ邮箱”旨在为初学者提供一个学习的实例,让他们了解如何实现类似QQ邮箱的文件上传功能。QQ邮箱作为中国流行的电子邮件服务之一,其文件上传体验已经非常成熟,包括了批量选择、进度显示...

    QQ邮箱图片显示代码

    QQ邮箱图片显示代码是电子邮件发送过程中一个重要的技术环节,它涉及到如何在邮件中嵌入图片,使得接收者能够正常查看而不会看到“叉叉”或被提示为外站链接。通常,邮件系统出于安全考虑会阻止外部图片的直接显示,...

    qq邮箱-mail

    QQ邮箱-Mail是一个基于互联网的电子邮箱服务,由腾讯公司提供,是其众多产品线中的一员。这个“LoveMail”项目可能是一个针对QQ邮箱的定制化或优化开发版本,旨在提升用户体验或者实现特定功能。在深入探讨相关知识...

    网页HTML编辑器类似QQ空间 163邮箱编辑器

    标题提及的"网页HTML编辑器类似QQ空间 163邮箱编辑器"可能是指这些编辑器提供了类似于QQ空间和163邮箱内嵌的富文本编辑功能。 QQ空间和163邮箱都是中国知名的在线服务平台,它们的编辑器允许用户方便地编辑和格式化...

    模仿QQ邮箱项目

    开发者可能参考了QQ邮箱的布局和交互设计,尝试在自己的项目中复现这些特性,提供类似的用户体验。 项目文件列表中的"QQmail"可能是整个项目代码的根目录,其中包含了所有相关的源码文件、配置文件、资源文件等。...

    QQ邮箱 HTML编辑器

    QQ邮箱HTML编辑器是腾讯QQ邮箱提供的一种工具,允许用户在编写邮件时使用HTML语言来增强邮件内容的表现力。HTML编辑器通常具有丰富的文本格式化选项,如字体、字号、颜色、对齐方式等,还可能包括插入图片、链接、...

    QQ邮箱发送超大附件(文件中转站)功能使用详解.docx

    总而言之,QQ邮箱的文件中转站功能为用户提供了前所未有的大文件传输体验,它的便捷操作、安全机制以及广泛的应用场景,都使得它成为网络交流中不可或缺的工具。随着网络技术的不断进步,文件中转站的性能和功能也将...

    类似QQ邮箱助手的Flash饼状图例子

    这个"类似QQ邮箱助手的Flash饼状图例子"就是一个很好的实践案例,它结合了多种技术,包括Flash、Html和Javascript,来实现一个交互式的图表展示。以下是关于这些技术以及如何应用到这个项目中的详细知识点: 1. **...

    html查看word的新闻发布源码

    完成类似QQ邮箱中‘HTML方式查看’功能查看Office文件。  我们在做一些系统的 下载模块 或者 内部邮箱 的时候,有些使用系统的人可能并没有安装office,但是又急需查看附件的内容甚至图片等等,下载安装一个Office...

    qq邮箱的JS在线编辑器

    5. **QQ邮箱特定实现**:qqMailEditor.rar系列文件可能是QQ邮箱官方提供的编辑器源码,可能包含QQ邮箱特有的接口调用和样式设定,用于与QQ邮箱的后端服务进行通信,如上传图片、保存草稿、发送邮件等。 6. **...

    类似QQ邮箱的js附件上传源代码

    这段代码是实现一个类似QQ邮箱的JavaScript附件上传功能的示例。主要知识点包括: 1. **JavaScript事件处理**: - `onchange` 事件:当用户在`&lt;input type="file"&gt;`元素中选择了一个文件后触发。在这个例子中,`...

    实现类似qq文件传输进度条功能

    在IT行业中,实现类似QQ文件传输进度条的功能是一项常见的需求,尤其在开发文件传输软件或者增强用户界面体验时。这个功能通常涉及到多线程技术、定时器(Timmer)的使用以及界面动态更新。以下是对这些知识点的详细...

    仿QQ邮箱模版,整套的.asp

    标题中的“仿QQ邮箱模版,整套的.asp”指的是一个基于ASP(Active Server Pages)技术的网页模板,它设计风格模仿了QQ邮箱的界面,为用户提供了一个类似于QQ邮箱的用户体验。这种模板对于那些希望快速搭建邮件服务...

    仿QQ邮箱ASP系统

    【标签】"仿QQ邮箱"暗示了该系统的设计和功能可能模仿了QQ邮箱的界面布局和用户体验,可能包括类似的布局设计、图标、颜色搭配以及操作流程等。 从【压缩包子文件的文件名称列表】来看: 1. **说明.htm**:这可能...

    仿qq邮箱添加收件人效果

    通过以上步骤,我们可以创建一个类似QQ邮箱的收件人添加界面,提供便捷的输入、自动补全和格式验证功能。这个过程需要对HTML、CSS和JavaScript有深入理解,同时也需要关注用户交互设计,以确保最终产品的易用性。...

    使用html和css实现QQ邮箱界面

    在“qqEmail”这个压缩包中,你应该能找到HTML文件和CSS文件,通过查看和分析这些文件,你可以看到这些概念是如何在实际项目中应用的。你可以尝试修改代码,观察不同的样式改变如何影响界面。这将加深你对HTML和CSS...

    QT实现图片自定义截取功能类似QQ上传头像截取功能

    在QT框架中实现图片自定义截取...通过以上步骤,可以构建一个功能完备的图片自定义截取工具,其操作方式类似QQ上传头像时的截图功能。在实际开发过程中,还需要注意错误处理、用户体验优化以及代码的可维护性等方面。

    QQ邮箱批量检测是否开通工具V1.8.3.5.zip

    软件的更新日志可能会在附带的QQ邮箱批量检测是否开通工具V1.8.3.5.txt文件中找到,用户可以通过阅读这份文档来了解具体改进内容。 在实际使用过程中,用户需要注意保护个人隐私和数据安全。由于这款工具涉及到大量...

    android简单邮箱仿QQ邮箱

    仿QQ邮箱的应用需要创建类似的设计,包括登录页面、邮件列表、邮件详情页、附件查看和下载等。使用XML文件定义布局,结合Java或Kotlin代码进行动态操作。 4. **网络通信**: 发送和接收邮件需要用到HTTP/HTTPS...

Global site tag (gtag.js) - Google Analytics