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文档,点击按钮进行打开操作。
希望上述内容能为您提供帮助。
祝好!
作者最新文章
JS转整数出现NaN怎么办?常见异常处理方案
2026-11-05 16:27:31
推荐几款免安装的在线JS压缩工具
2026-11-05 14:54:53
JS怎么使用JSON.stringify实现JSON格式化与缩进
2026-11-04 10:47:30
CodePen、JSFiddle 与 StackBlitz:主流 JS 在线编辑器对比
2026-11-03 21:07:49
JS字符串转数字后怎么正确判断是否为有效数值
2026-11-03 20:04:15
