控制word表格单元格内部文字样式。我要将数据导出到word当中,对于word表格一个单元格中的一段文字,要设置不同的样式,比如第一行文字作为标题要居中,加粗,第二行为正常的正文。

代码如下

    public void AddSimpleTable(_Application WordApp, _Document WordDoc, int numrows, int numcolumns, WdLineStyle outStyle, WdLineStyle intStyle, List<Trip> l_tp){Object Nothing = System.Reflection.Missing.Value;//文档中创建表格Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, 1, numcolumns, ref Nothing, ref Nothing);//设置表格样式newTable.Borders.OutsideLineStyle = outStyle;newTable.Borders.InsideLineStyle = intStyle;newTable.Columns[1].Width = 100f;newTable.Columns[2].Width = 315f;string date = string.Empty;int rowcount = 1;List<int> listHeBing = new List<int>();//List<int> listLeft = new List<int>();for (int i = 0; i < l_tp.Count; i++){if (date != l_tp[i].Date){if (rowcount != 1){WordDoc.Content.Tables[1].Rows.Add(ref Nothing);}date = l_tp[i].Date;newTable.Cell(rowcount, 1).Range.Text = l_tp[i].Date;//合并单元格// newTable.Cell(rowcount, 1).Merge(newTable.Cell(rowcount, 2));
                   listHeBing.Add(rowcount);rowcount = rowcount + 1;}WordDoc.Content.Tables[1].Rows.Add();if (string.IsNullOrEmpty(l_tp[i].Locale)){newTable.Cell(rowcount, 1).Range.Text = l_tp[i].Time;}else{newTable.Cell(rowcount, 1).Range.Text = l_tp[i].Time + @"" + l_tp[i].Locale;}newTable.Cell(rowcount, 1).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中newTable.Cell(rowcount, 1).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;//水平居中//newTable.Cell(rowcount, 1).Range.Font.Color = WdColor.wdColorDarkBlue;//设置单元格内字体颜色
               SetContent(rowcount, l_tp[i], WordApp, WordDoc, newTable);// newTable.Cell(rowcount, 2).Range.Text = GetContent(rowcount, l_tp[i], WordApp, WordDoc, newTable);newTable.Cell(rowcount, 2).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;//水平居左rowcount = rowcount + 1;}foreach (var item in listHeBing){newTable.Cell(item, 1).Merge(newTable.Cell(item, 2));newTable.Cell(item, 1).Range.Bold = 2;//设置单元格中字体为粗体newTable.Cell(item, 1).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中newTable.Cell(item, 1).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;//水平居中//newTable.Cell(item, 1).Range.Shading.ForegroundPatternColor = WdColor.wdColorGray40;//背景颜色
           }}

 private void SetContent(int i, Trip tp, _Application WordApp, _Document WordDoc, Microsoft.Office.Interop.Word.Table Table){string rs = string.Empty;WordDoc.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekMainDocument;//激活页面内容的编辑 Table.Cell(i, 2).Select();WordApp.Selection.Font.Name = "宋体";WordApp.Selection.Font.Size = 10.5f;WordApp.Selection.Font.Bold = 1;WordApp.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;WordApp.Selection.TypeText(tp.TOPIC);WordApp.Selection.TypeParagraph();//另起一段  WordApp.Selection.Font.Bold = 0;WordApp.Selection.TypeText(tp.Content);if (tp.L_Compere.Count > 0){WordApp.Selection.TypeParagraph();//另起一段  WordApp.Selection.Font.Bold = 1;WordApp.Selection.TypeText("主持:");WordApp.Selection.TypeParagraph();//另起一段 foreach (var item in tp.L_Compere){WordApp.Selection.Font.Bold = 0;WordApp.Selection.TypeText(item.Name + @"   " + item.JobTitle);WordApp.Selection.TypeParagraph();//另起一段
               }}if (tp.L_Speech.Count > 0){WordApp.Selection.TypeParagraph();//另起一段  WordApp.Selection.Font.Bold = 1;WordApp.Selection.TypeText("演讲嘉宾:");WordApp.Selection.TypeParagraph();//另起一段 foreach (var item in tp.L_Speech){WordApp.Selection.Font.Bold = 0;WordApp.Selection.TypeText(item.Name + @"   " + item.JobTitle);WordApp.Selection.TypeParagraph();//另起一段
               }}}       

转载于:https://www.cnblogs.com/laoyuanroom/p/4071427.html

关于.net Microsoft.Office.Interop.Word组建操作word的问题,如何控制word表格单元格内部段落的样式。...相关推荐

  1. C# 用Microsoft.Office.Interop.PowerPoint类库操作PPT

    前言:最近由于项目需求,需要使用此类库对PPT进行操作 1.引用 Microsoft.Office.Interop.PowerPoint和 Microsoft.Office.Core 2.PPT操作 ...

  2. C#日常开发随手记------COM组件(Microsoft.Office.Interop.Excel)操作excel、如何创建\删除文件夹

    文章中写了点过程有点啰嗦,想直接看代码的直接下拉看加粗标题处 第一次使用COM组件操作excel,遇到了点坑,也有些感触. 一般来说操作excel,我比较常用的是OleDB,但是OleDB需要安装Ac ...

  3. VB.NET 使用Microsoft.Office.Interop进行EXCEL操作时彻底关闭EXCEL进程

    Imports System.Runtime.InteropServices Imports Microsoft.Office.Interop Public Class 关闭EXCEL'' TODO: ...

  4. 【C#】C#使用Microsoft.Office.Interop.Word操作Word文档,向表格插入图片

    上篇:[C#]C#使用Microsoft.Office.Interop.Word操作Word文档,替换文本 Word模板: 代码: try {Application app = new Applica ...

  5. 【C#】C#使用Microsoft.Office.Interop.Word操作Word文档,替换文本

    最近要做一个批量打印文档功能,于是找了Microsoft.Office.Interop.Word这个插件. 基本步骤是这样的,创建Word模板文档,C#调用模板文档替换对应的文本,保存新文档. 下面仅 ...

  6. C# 使用Microsoft.Office.Interop将Excel、Word转换成PDF遇到的问题总结

    首先应用中引入Microsoft.Office.Interop.Excel.Microsoft.Office.Interop.Word两个dll,将嵌入式互操作类型设为False, WORD转换成PD ...

  7. 通过C#Microsoft.Office.Interop.Word理解互操作性

    目录 一.概念 二.应用 三.Word操作示例 四.总结 五.拓展 一.概念 C# 中的互操作性指的是C#托管代码和非托管代码之间实现互操作性的方法.(参考微软文档:互操作性概述) 参考:百度百科-- ...

  8. 无法将为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型

    文章目录 1.错误原因 2. 解决方式 2.1 office多版本 2.1.1 删除多余版本 2.1.2 修复当前版本 2.1.3 其他操作(可选1) 2.1.4 其他操作(可选2) 2.2 wps卸 ...

  9. C# Microsoft.Office.Interop.Word设置Word页脚之添加当前页数

    用C#操作Word,电脑上原生的库为Microsoft.Office.Interop.Word,虽然有些慢,但也能用.操作word的另外一个库是Spire.Doc,但是商业的,破解版也不好搞,还是凑合 ...

最新文章

  1. doc python 颜色_Python wordcloud.ImageColorGenerator方法代码示例
  2. LOJ#510. 「LibreOJ NOI Round #1」北校门外的回忆(线段树)
  3. 深度学习中图片数据增强方法
  4. Axis2 POJO实现WebService(一)发布
  5. AS3中,setTimeOut、setInterval、Timer区别
  6. 学院派CAD工具箱及CAD调用外部应用程序的方法
  7. springboot的redis工具类编写(采用RedisTemplate)(简单的取值,取多个值)。
  8. 那些曾经拥有的最大快乐,都是好奇心的结果
  9. Windows 8桌面的尴尬
  10. 边缘计算比云计算强在哪里?终于有人讲明白了
  11. Spring MVC Controller 的同一个 URL 请求,根据逻辑判断返回 JSON 或者 HTML 视图
  12. java restcontroller_Spring框架:@RestController与@Controller
  13. 掌握rm命令删除文件
  14. 虚拟 ​router 原理分析- 每天5分钟玩转 OpenStack(101)
  15. 使用web gis 加载显示arcgis for server 发布出来的地图,并提供查询标记显示属性功能...
  16. mask rcnn数据转换为tfrecord数据
  17. 卷积神经网络 第三周作业 Keras+-+Tutorial+-+Happy+House+v1
  18. Node.app让Nodejs平台在iOS和OS X系统上奔跑
  19. 春分时节,迎一场春暖花开
  20. C语言学生成绩管理系统——检查学号姓名,双向循环链表

热门文章

  1. ora-12514报错解决方法
  2. 如何和老师沟通好博士的申请呢?
  3. 论营销的重要性:以一个磁铁为例
  4. 这样设置ae导出文件的时候m1还是能顶得住的,3分钟的事情渲染一个开场
  5. 当我们不为了拿奖,而在做事情的时候
  6. 人终究要活出自己对于这个世界的看法和自己的处事方式,并且由内而外的生成自信
  7. Resources与StreamingAssets文件夹的区别
  8. Linux 定制X86平台操作系统
  9. IT人士运动方式选择建议
  10. 组合模式测试组合模式(Composite Pattern)