在word文档中添加网格视图

本文关键字:网格 视图 添加 word 文档 | 更新日期: 2023-09-27 18:23:48

我想在下面的代码中添加gridview
如何将网格视图添加到word文档中?

我的Word文档创建代码;

object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document aDoc = null;
DateTime today = DateTime.Now;
object readOnly = true;
object inVisible = true;
aDoc = wordApp.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref inVisible, ref missing, ref missing, ref missing, ref missing);
this.FindAndReplace(wordApp, "##formkodu##", TextBox1.Text);
this.FindAndReplace(wordApp, "##sirketadi##", DropDownList11.SelectedItem.Text);
this.FindAndReplace(wordApp, "##il##", ddliller.SelectedItem.Text);
this.FindAndReplace(wordApp, "##isletme##", ddlisletmeler.SelectedItem.Text);
this.FindAndReplace(wordApp, "##yüklenicifirma##", ddlyükleniciler.SelectedItem.Text);           

wordApp.Visible = false;
aDoc.Activate();
aDoc.SaveAs(ref saveAs, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
wordApp.Quit(ref missing, ref missing, ref missing);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(aDoc);

在word文档中添加网格视图

Gridview不是COM ActiveX控件,因此它不能承载在Word的文档表面上——至少不能直接承载。

如果您能够使用VSTO,那么您可以使用VSTO的内置工具将Gridview包装在COM ActiveX控件中,以便将其放置在文档表面上。但是,ASP.NET中不支持VSTO。

解决这一问题的一种可能方法是开发一个VSTO加载项,该加载项安装在打开您创建的文档的计算机上。这可以负责包装、插入和管理ActiveX控件+Gridview。

但是,您最好在文档中简单地生成一个Word表?使用Interop(或Open XML)可以很好地工作。。。

Geoff Darst提供了一些关于在MSDN上创建ActiveX控件的基础知识的旧信息:https://social.msdn.microsoft.com/Forums/vstudio/en-US/71a75dc4-dcea-454a-9e4a-011a2f811994/vsto-activex-and-powerpoint?forum=vsto

https://social.msdn.microsoft.com/Forums/vstudio/en-US/4282a65c-ccd7-4fd4-a56c-75f84615fff6/embedding-active-x-control-in-office-application-using-vsto-2005?forum=vsto

如果可能的话,我更喜欢使用OpenXML(*.docx)而不是互操作。这里介绍了如何创建表:如何:将表插入文字处理文档(Open XML SDK)。有了这个,您就不需要互操作,如果安装了错误的office版本或出现任何其他问题,互操作可能会带来很多麻烦。希望这能有所帮助。