几个有关C#操作WORD的问题 想通过C#实现在WORD文档模板中某些填空处添加数据(有段落间的,也有表格中的),位置是固定的,如何通过有效的方式将该空格处找出并填入数据?另外,如何设置某句话的文字格式,如字体大小、字体样式、对齐方式等?如何将指定文字设置为标题文字,如标题1、标题2、标题3之类的?谢谢指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在Word模板中设置书签,操着模板时找出书签并替代之。 具体代码怎么写不记得了,当初我的方法是,要做什么操作,先在word中在记录宏打开的状态下,进行相应的操作,然后,参看生成的代码(VBA),把对应的VBA代码转换成C#的就搞定了。 //新建word文档 object Missing = Type.Missing; Microsoft.Office.Interop.Word.ApplicationClass WordApp = new Microsoft.Office.Interop.Word.ApplicationClass(); WordApp.Visible = false; string strTemppath = "\\模版.dot"; object oTemplate = (object)strTemppath; Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref oTemplate, ref Missing, ref Missing, ref Missing); WordDoc.Activate(); //对Name标签进行填充,填充名字Bruce object project = "Name"; WordApp.ActiveDocument.Books.get_Item(ref project).Range.Text = "Bruce"; //填充表格:table1为word中的第一个表格(word里表格的下标都是从1开始的),myDataTable是含有数据的表格 Microsoft.Office.Interop.Word.Table table1= WordDoc.Tables[1]; for (int i = 0; i < myDataTable.Rows.Count; i++) { for(int j = 0;j < myDataTable.Columns.Count; j++) { table1.Cell(i + 1, j + 1).Range.Text = myDataTable.Rows[i][j].ToString(); } } 不会写 C#中类型转换问题 弹出窗口 专业.NET交流圈 winform 如何设置国定大小、不能用鼠标拉和放大 HttpWebRequest,HttpWebResponse,StreamReader读取编码为GBK的网页的问题 紧急求救!请问如何判断SQL数据库中一张表和ACCESS中的一张表的结构是否一样? 初学者,请教一下我应该如何选择 WEB.CONGIG 惨了,惨了.这个"C#"到底该怎么念啊? winform 下如何把数据存到xml中 treeivew 问题 选中节点操作 后 刷新 但之前选中节点继续保持选中状态
object Missing = Type.Missing;
Microsoft.Office.Interop.Word.ApplicationClass WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
WordApp.Visible = false;
string strTemppath = "\\模版.dot";
object oTemplate = (object)strTemppath;
Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref oTemplate, ref Missing, ref Missing, ref Missing);
WordDoc.Activate();
//对Name标签进行填充,填充名字Bruce
object project = "Name";
WordApp.ActiveDocument.Books.get_Item(ref project).Range.Text = "Bruce";
//填充表格:table1为word中的第一个表格(word里表格的下标都是从1开始的),myDataTable是含有数据的表格
Microsoft.Office.Interop.Word.Table table1= WordDoc.Tables[1];
for (int i = 0; i < myDataTable.Rows.Count; i++)
{
for(int j = 0;j < myDataTable.Columns.Count; j++)
{
table1.Cell(i + 1, j + 1).Range.Text = myDataTable.Rows[i][j].ToString();
}
}