C#与JavaScript打开Word文档的实现方法

作者:清欢时间:2026-10-26 18:27:23浏览:76

本文介绍了在C#和JavaScript中打开Word文档的具体实现方式。C#部分通过引用Microsoft Word对象库,利用OpenFileDialog获取文件路径,并调用Word.ApplicationClass实例进行文档读写与清理。JavaScript部分则演示了如何在IE环境下,通过ActiveXObject创建Excel或Word应用实例,实现前端页面对Office文件的直接调用与打开。

C#调用Word对象库实现文档打开

在C#环境中打开Word文档的操作相对直接,存在多种可行的实现路径。


一.C#中打开word文档方法

具体代码实现如下:

 
首先需要在项目引用中添加对Microsoft Word 11.0 object library的引用。
private void button1_Click(object sender, System.EventArgs e)
{ 
此处调用文件打开对话框以获取目标Word文件、RTF文件或文本文件的路径名称。
OpenFileDialog opd = new OpenFileDialog();
opd.InitialDirectory = "c:\\";
opd.Filter = "Word文档(*.doc)|*.doc|文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文档(*.*)|*.*";
opd.FilterIndex = 1;
if (opd.ShowDialog() == DialogResult.OK && opd.FileName.Length > 0)
{ 
接下来建立Word类的实例,需注意此方法存在局限,无法正确渲染表格和图片等复杂元素。
Word.ApplicationClass app = new Word.ApplicationClass();
Word.Document doc = null;
object missing = System.Reflection.Missing.Value;
object FileName = opd.FileName;
object readOnly = false;
object isVisible = true;
object index = 0;
try
{ 
doc = app.Documents.Open(ref FileName, ref missing, ref readOnly,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref isVisible, ref missing,
ref missing, ref missing, ref missing);
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();
随后从系统剪切板中获取数据。
IDataObject data=Clipboard.GetDataObject();
this.richTextBox1.Text=data.GetData(DataFormats.Text).ToString();
} 
finally
{ 
if (doc != null)
{ 
doc.Close(ref missing, ref missing, ref missing);
doc = null;
} 
if (app != null)
{ 
app.Quit(ref missing, ref missing, ref missing);
app = null;
} 
} 
} 
} 

JavaScript通过ActiveXObject打开Office文件

那么,如何通过JavaScript来实现这一功能呢?实际上操作并不复杂。


二.在javascript打开word文档

我们需要新建一个HTML文件,并添加FileUpLoad控件以及一个按钮控件。


相关HTML代码如下:

 
<input id="flUpload" type="file" />flUpload
<input id="btnOpenFile" type="button" value="button" onclick="OpenFile()" />

接着编写一个名为OpenFile的JavaScript方法。


JavaScript代码实现如下:

 
function OpenFile()
{ 
if (document.getElementById("flUpload").value.toUpperCase().indexOf(".XLS") != -1)
{ 
var objExcel;
objExcel = new ActiveXObject("Excel.Application");
objExcel.Visible = true;
objExcel.Workbooks.Open(document.getElementById("flUpload").value);
} 
else if (document.getElementById("flUpload").value.toUpperCase().indexOf(".DOC") != -1)
{ 
var objDoc;
objDoc = new ActiveXObject("Word.Application");
objDoc.Visible = true;
objDoc.Documents.Open(document.getElementById("flUpload").value);
} 
else
{ 
alert("Please select Word/Excel file only");
return false;
} 
} 

完成上述步骤后,在IE浏览器中即可先选择doc文档,点击按钮进行打开操作。


希望上述内容能为您提供帮助。


祝好!

作者最新文章