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

代码如下

  1. public void AddSimpleTable(_Application WordApp, _Document WordDoc, int numrows, int numcolumns, WdLineStyle outStyle, WdLineStyle intStyle, List<Trip> l_tp)
  2. {
  3. Object Nothing = System.Reflection.Missing.Value;
  4. //文档中创建表格
  5. Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, , numcolumns, ref Nothing, ref Nothing);
  6. //设置表格样式
  7. newTable.Borders.OutsideLineStyle = outStyle;
  8. newTable.Borders.InsideLineStyle = intStyle;
  9. newTable.Columns[].Width = 100f;
  10. newTable.Columns[].Width = 315f;
  11. string date = string.Empty;
  12. int rowcount = ;
  13. List<int> listHeBing = new List<int>();
  14. //List<int> listLeft = new List<int>();
  15. for (int i = ; i < l_tp.Count; i++)
  16. {
  17. if (date != l_tp[i].Date)
  18. {
  19. if (rowcount != )
  20. {
  21. WordDoc.Content.Tables[].Rows.Add(ref Nothing);
  22. }
  23. date = l_tp[i].Date;
  24. newTable.Cell(rowcount, ).Range.Text = l_tp[i].Date;
  25.  
  26. //合并单元格
  27. // newTable.Cell(rowcount, 1).Merge(newTable.Cell(rowcount, 2));
  28. listHeBing.Add(rowcount);
  29.  
  30. rowcount = rowcount + ;
  31.  
  32. }
  33. WordDoc.Content.Tables[].Rows.Add();
  34. if (string.IsNullOrEmpty(l_tp[i].Locale))
  35. {
  36. newTable.Cell(rowcount, ).Range.Text = l_tp[i].Time;
  37. }
  38. else
  39. {
  40.  
  41. newTable.Cell(rowcount, ).Range.Text = l_tp[i].Time + @"
  42. " + l_tp[i].Locale;
  43. }
  44. newTable.Cell(rowcount, ).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
  45. newTable.Cell(rowcount, ).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;//水平居中
  46. //newTable.Cell(rowcount, 1).Range.Font.Color = WdColor.wdColorDarkBlue;//设置单元格内字体颜色
  47. SetContent(rowcount, l_tp[i], WordApp, WordDoc, newTable);
  48. // newTable.Cell(rowcount, 2).Range.Text = GetContent(rowcount, l_tp[i], WordApp, WordDoc, newTable);
  49. newTable.Cell(rowcount, ).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;//水平居左
  50. rowcount = rowcount + ;
  51. }
  52. foreach (var item in listHeBing)
  53. {
  54. newTable.Cell(item, ).Merge(newTable.Cell(item, ));
  55. newTable.Cell(item, ).Range.Bold = ;//设置单元格中字体为粗体
  56. newTable.Cell(item, ).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
  57. newTable.Cell(item, ).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;//水平居中
  58. //newTable.Cell(item, 1).Range.Shading.ForegroundPatternColor = WdColor.wdColorGray40;//背景颜色
  59. }
  60. }
  1. private void SetContent(int i, Trip tp, _Application WordApp, _Document WordDoc, Microsoft.Office.Interop.Word.Table Table)
  2. {
  3. string rs = string.Empty;
  4. WordDoc.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekMainDocument;//激活页面内容的编辑
  5. Table.Cell(i, ).Select();
  6. WordApp.Selection.Font.Name = "宋体";
  7. WordApp.Selection.Font.Size = 10.5f;
  8. WordApp.Selection.Font.Bold = ;
  9. WordApp.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
  10. WordApp.Selection.TypeText(tp.TOPIC);
  11. WordApp.Selection.TypeParagraph();//另起一段
  12. WordApp.Selection.Font.Bold = ;
  13. WordApp.Selection.TypeText(tp.Content);
  14. if (tp.L_Compere.Count > )
  15. {
  16. WordApp.Selection.TypeParagraph();//另起一段
  17. WordApp.Selection.Font.Bold = ;
  18. WordApp.Selection.TypeText("主持:");
  19. WordApp.Selection.TypeParagraph();//另起一段
  20. foreach (var item in tp.L_Compere)
  21. {
  22. WordApp.Selection.Font.Bold = ;
  23. WordApp.Selection.TypeText(item.Name + @" " + item.JobTitle);
  24. WordApp.Selection.TypeParagraph();//另起一段
  25. }
  26. }
  27. if (tp.L_Speech.Count > )
  28. {
  29. WordApp.Selection.TypeParagraph();//另起一段
  30. WordApp.Selection.Font.Bold = ;
  31. WordApp.Selection.TypeText("演讲嘉宾:");
  32. WordApp.Selection.TypeParagraph();//另起一段
  33. foreach (var item in tp.L_Speech)
  34. {
  35. WordApp.Selection.Font.Bold = ;
  36. WordApp.Selection.TypeText(item.Name + @" " + item.JobTitle);
  37. WordApp.Selection.TypeParagraph();//另起一段
  38. }
  39. }
  40. }

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

  1. C# 使用自带Microsoft.Office.Interop.Excel简单操作Excel文件

    项目添加应用 Microsoft.Office.Interop.Excel.dll 文件 引用命名空间: using Excel = Microsoft.Office.Interop.Excel; 简 ...

  2. Microsoft.Office.Interop.Excel Find 操作

    public void SearchLoactions(string filepath, int start, int end ,string expectvalue) { if (end >= ...

  3. (转)无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-

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

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

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

  5. System.InvalidCastException: 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。

    报错:System.InvalidCastException: 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接 ...

  6. 调用Microsoft.Office.Interop.Word生成自定义Word文档

    具体思路: 1.先制作Word模版,使用文本框+书签的方式来设计模版: 2.模版制作完之后,根据模版生成新文件,使用File.Copy方法,生成.doc格式新文件: 3.后台取得数据,参照网页渲染的方 ...

  7. C#用Microsoft.Office.Interop.Word进行Word转PDF的问题

    之前用Aspose.Word进行Word转PDF发现'\'这个字符会被转换成'¥'这样的错误,没办法只能换个方法了.下面是Microsoft.Office.Interop.Word转PDF的方法: p ...

  8. Microsoft.Office.Interop.Word 创建word

    Microsoft.Office.Interop.Word 创建word 转载:http://www.cnblogs.com/chenbg2001/archive/2010/03/14/1685746 ...

  9. VS编程中找不到Microsoft.Office.Core、Microsoft.Office.Interop.Word和VBIDE

    在使用vs2005. vs2008. vs2010 制作包含 word等office的应用程序时,有时找不到对Microsoft.Office.Core. Microsoft.Office.Inter ...

随机推荐

  1. HashMap 与 HashTable的区别

    1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样.可以用synchronized实现HashMap ...

  2. 学习地址(oraclemysqllinux)

    1.安装配置 http://blog.chinaunix.net/uid-27126319-id-3466193.htmlhttp://www.cnblogs.com/gaojun/archive/2 ...

  3. 基于服务(Web Service)的文件管理Winform客户端实现(二)

    上一篇主要介绍文件管理服务有哪些方法,实现了哪些功能. 基于服务(Web Service)的文件管理Winform客户端实现(一) 本篇将根据文件服务服务实现Winform客户端设计.开发. 3.   ...

  4. phpmyadmin修改root密码

    很多人利用phpmyadmin或者命令行来修改了mysql的root密码,重启 后发现mysql登录错误,这是为什么呢?修改mysql的root的密码要在mysql软件中mysql数据库里修改root ...

  5. chmod、chown、chgrp的意思

    文件权限管理chown->change owner 改变文件所有者chown test install.log -将install.log这个文件的所有者改为test用户 chgrp->c ...

  6. putty远程连接ubuntu

      步骤一.在ubuntu系统中安装ssh,可使用如下的命令进行安装: sudo apt-get install openssh-server步骤二.为了保险起见,安装完成后重启一下ssh服务,命令如 ...

  7. fielderror里的fieldName代表的是jsp里的fieldName还是Action类的成员变量?(待解答)

    1.值栈的Action对象中会有一个fielderror属性,代表着字段错误. fielderror是Map<String,List<String>>类型 例如下面的值栈里可看 ...

  8. C#Random函数在循环中每次获取一样的值

    首先需要了解一点Random函数的随机生成是和当前时间有关系,如果在短时间生成随机数,就会导致随机数生成出来是相同的. 不过我们可以在每次随机时指定一个Seed种子值,这样在循环里就可以每次获取不一样 ...

  9. 将yyyyMMdd,dd/MM/yyyy 类型字符串转换为datetime 类型 yyyy-MM-dd C#

    DateTime ConvertDate = DateTime.ParseExact(", "yyyyMMdd", null, System.Globalization. ...

  10. shape--用代码修改shape的颜色属性

    Android里面经常会使用shape来定制一些View的背景,可以修改View的背景颜色,形状等属性 一般情况下,shape都是在xml文件里面写死了,今天遇到一个需求,View的形状是圆角的,但是 ...