我们在做一些系统的 下载模块 或者 内部邮箱 的时候,有些使用系统的人可能并没有安装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邮箱附件上传功能,选择文件逐条自定上传,删除等,后台java
完成类似QQ邮箱中‘HTML方式查看’功能查看Office文件。 我们在做一些系统的 下载模块 或者 内部邮箱 的时候,有些使用系统的人可能并没有安装office,但是又急需查看附件的内容甚至图片等等,下载安装一个Office...
类似QQ邮箱助手的Flash饼状图例子,含有源文件及调用的静态页面等全套文件
实现类似qq文件传输进度条功能,使用TIMMER和多线程-Qq realize a similar function of file transfer progress bar, use Timmer
QQ邮箱类似的多文件上传
网页HTML编辑器网页HTML编辑器网页HTML编辑器类似QQ空间 163邮箱编辑器网页HTML编辑器类似QQ空间 163邮箱编辑器
如何利用 Java 实现 QQ 文件传输功能 现在, 通过网络传输文件已经非常普遍, 各种传输工 具也很多, 最具有代表性的就是 QQ 提供的文件传输功能了, 它能让好友之间方便的把自己的文件传给对方。 仔细查看 QQ 的...
类似QQ邮箱的js附件上传源代码,对于学习来讲还是不错的。
1、在网上都没找到的android...2、控件支持从外部直接设置邮件地址和手动输入邮件地址功能,以分号结束区分,文件中有APP,自己可以安装试试看效果再来评价。 3、 效果和功能不差于腾讯手机上的QQ邮箱收件人输入框功能
软件工程课程中的QQ邮箱测试用例 比较详尽,谢谢大家
QQ邮箱 HTML编辑器 趴下来的!
模仿QQ邮箱的大文件上传功能,带进度条,源代码,可自行修改,基于swfupload制作
VC TCP实现类似QQ群聊天、文件传输功能展示,程序由注册登录服务器、聊天通信服务器、客户端三部分组成,编译测试之前:请先注册ODBC数据源;数据源名称:wbQQuser;类型:ACCESS;文件名:wbQQuser.mdb。 附加...
QQ邮箱上传控件软件,运行环境:win7系统
多文件上传,文件上传,模仿QQ邮箱,供初学者学习。
QQ邮箱发送超大附件(文件中转站)功能使用详解.docx
实现多文件上传的JS,模仿QQ邮箱,初学者学习。
QQ邮箱1G上传控件,便于上传大文件,很好用的,用前安装
可以实现qq邮箱发送多人邮件,邮件可配置模板,邮件可以附带附件,附件的获取方式采用文件流方式
自己写的一个QQ邮箱生成器!生成后导出到txt文件!C#编写~~~