控制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, , numcolumns, ref Nothing, ref Nothing);
//设置表格样式
newTable.Borders.OutsideLineStyle = outStyle;
newTable.Borders.InsideLineStyle = intStyle;
newTable.Columns[].Width = 100f;
newTable.Columns[].Width = 315f;
string date = string.Empty;
int rowcount = ;
List<int> listHeBing = new List<int>();
//List<int> listLeft = new List<int>();
for (int i = ; i < l_tp.Count; i++)
{
if (date != l_tp[i].Date)
{
if (rowcount != )
{
WordDoc.Content.Tables[].Rows.Add(ref Nothing);
}
date = l_tp[i].Date;
newTable.Cell(rowcount, ).Range.Text = l_tp[i].Date; //合并单元格
// newTable.Cell(rowcount, 1).Merge(newTable.Cell(rowcount, 2));
listHeBing.Add(rowcount); rowcount = rowcount + ; }
WordDoc.Content.Tables[].Rows.Add();
if (string.IsNullOrEmpty(l_tp[i].Locale))
{
newTable.Cell(rowcount, ).Range.Text = l_tp[i].Time;
}
else
{ newTable.Cell(rowcount, ).Range.Text = l_tp[i].Time + @"
" + l_tp[i].Locale;
}
newTable.Cell(rowcount, ).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
newTable.Cell(rowcount, ).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, ).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;//水平居左
rowcount = rowcount + ;
}
foreach (var item in listHeBing)
{
newTable.Cell(item, ).Merge(newTable.Cell(item, ));
newTable.Cell(item, ).Range.Bold = ;//设置单元格中字体为粗体
newTable.Cell(item, ).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
newTable.Cell(item, ).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, ).Select();
WordApp.Selection.Font.Name = "宋体";
WordApp.Selection.Font.Size = 10.5f;
WordApp.Selection.Font.Bold = ;
WordApp.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
WordApp.Selection.TypeText(tp.TOPIC);
WordApp.Selection.TypeParagraph();//另起一段
WordApp.Selection.Font.Bold = ;
WordApp.Selection.TypeText(tp.Content);
if (tp.L_Compere.Count > )
{
WordApp.Selection.TypeParagraph();//另起一段
WordApp.Selection.Font.Bold = ;
WordApp.Selection.TypeText("主持:");
WordApp.Selection.TypeParagraph();//另起一段
foreach (var item in tp.L_Compere)
{
WordApp.Selection.Font.Bold = ;
WordApp.Selection.TypeText(item.Name + @" " + item.JobTitle);
WordApp.Selection.TypeParagraph();//另起一段
}
}
if (tp.L_Speech.Count > )
{
WordApp.Selection.TypeParagraph();//另起一段
WordApp.Selection.Font.Bold = ;
WordApp.Selection.TypeText("演讲嘉宾:");
WordApp.Selection.TypeParagraph();//另起一段
foreach (var item in tp.L_Speech)
{
WordApp.Selection.Font.Bold = ;
WordApp.Selection.TypeText(item.Name + @" " + item.JobTitle);
WordApp.Selection.TypeParagraph();//另起一段
}
}
}

关于.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. 在asp.net中显示PDF的方法:

    来源:http://www.cnblogs.com/tengs2000/archive/2009/02/23/1396646.html 一.直接显示,使用的还是原页面的URL Response.Con ...

  2. Zookeeper基本配置

    前面两篇文章介绍了Zookeeper是什么和可以干什么,那么接下来我们就实际的接触一下Zookeeper这个东西,看看具体如何使用,有个大体的感受,后面再描述某些地方的时候也能在大脑中有具体的印象.本 ...

  3. Delphi、C C++、Visual Basic数据类型的对照 转

    Delphi.C C++.Visual  Basic数据类型的对照 变量类型 Delphi C/C++ Visual Basic 位有符号整数 ShortInt char -- 位无符号整数 Byte ...

  4. aspx aspx.cs

    http://www.cnblogs.com/axzxs2001/archive/2009/01/19/1378383.html

  5. 关于Maven的一些记录

    Eclipse-Mars4.5自带Maven插件,自己重新下载之后将不兼容. 可以在图中位置设置jar包路径. 可以在Eclipse新建Dynamic Web Project项目,然后在项目上右键=& ...

  6. ListView addHeaderView 对 position 的影响

    1. 在 public View getView(int position, View convertView, ViewGroup parent) 中position 和 是否有headerView ...

  7. tinyPng Photoshop Plugin 安装的坑

    一定要注意两点: 第一: 注册表注册路径要修改为自己安装ps cc时的注册表路径[HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Photoshop\70.0]第二: Applic ...

  8. mysql replication

    change master to master_host='192.168.0.3',master_user='myrepl',master_password='5rNUnOHxut3lkP4wXds ...

  9. VS2015 使用Razor编写MVC视图时,Razor智能提示消失,报各种红线解决方案。

    打开文件夹 Users\<CurrentUser>\AppData\Local\Microsoft\VisualStudio\<version> 删除文件夹 Component ...

  10. flume 读取tcp写到hdfs

    # Please paste flume.conf here. Example: # Sources, channels, and sinks are defined per # agent name ...