关于.net Microsoft.Office.Interop.Word组建操作word的问题,如何控制word表格单元格内部段落的样式。
控制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表格单元格内部段落的样式。的更多相关文章
- C# 使用自带Microsoft.Office.Interop.Excel简单操作Excel文件
项目添加应用 Microsoft.Office.Interop.Excel.dll 文件 引用命名空间: using Excel = Microsoft.Office.Interop.Excel; 简 ...
- Microsoft.Office.Interop.Excel Find 操作
public void SearchLoactions(string filepath, int start, int end ,string expectvalue) { if (end >= ...
- (转)无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-
HRESULT:0x80030002 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft ...
- 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。
无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Wor ...
- System.InvalidCastException: 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。
报错:System.InvalidCastException: 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接 ...
- 调用Microsoft.Office.Interop.Word生成自定义Word文档
具体思路: 1.先制作Word模版,使用文本框+书签的方式来设计模版: 2.模版制作完之后,根据模版生成新文件,使用File.Copy方法,生成.doc格式新文件: 3.后台取得数据,参照网页渲染的方 ...
- C#用Microsoft.Office.Interop.Word进行Word转PDF的问题
之前用Aspose.Word进行Word转PDF发现'\'这个字符会被转换成'¥'这样的错误,没办法只能换个方法了.下面是Microsoft.Office.Interop.Word转PDF的方法: p ...
- Microsoft.Office.Interop.Word 创建word
Microsoft.Office.Interop.Word 创建word 转载:http://www.cnblogs.com/chenbg2001/archive/2010/03/14/1685746 ...
- VS编程中找不到Microsoft.Office.Core、Microsoft.Office.Interop.Word和VBIDE
在使用vs2005. vs2008. vs2010 制作包含 word等office的应用程序时,有时找不到对Microsoft.Office.Core. Microsoft.Office.Inter ...
随机推荐
- HashMap 与 HashTable的区别
1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样.可以用synchronized实现HashMap ...
- 学习地址(oraclemysqllinux)
1.安装配置 http://blog.chinaunix.net/uid-27126319-id-3466193.htmlhttp://www.cnblogs.com/gaojun/archive/2 ...
- 基于服务(Web Service)的文件管理Winform客户端实现(二)
上一篇主要介绍文件管理服务有哪些方法,实现了哪些功能. 基于服务(Web Service)的文件管理Winform客户端实现(一) 本篇将根据文件服务服务实现Winform客户端设计.开发. 3. ...
- phpmyadmin修改root密码
很多人利用phpmyadmin或者命令行来修改了mysql的root密码,重启 后发现mysql登录错误,这是为什么呢?修改mysql的root的密码要在mysql软件中mysql数据库里修改root ...
- chmod、chown、chgrp的意思
文件权限管理chown->change owner 改变文件所有者chown test install.log -将install.log这个文件的所有者改为test用户 chgrp->c ...
- putty远程连接ubuntu
步骤一.在ubuntu系统中安装ssh,可使用如下的命令进行安装: sudo apt-get install openssh-server步骤二.为了保险起见,安装完成后重启一下ssh服务,命令如 ...
- fielderror里的fieldName代表的是jsp里的fieldName还是Action类的成员变量?(待解答)
1.值栈的Action对象中会有一个fielderror属性,代表着字段错误. fielderror是Map<String,List<String>>类型 例如下面的值栈里可看 ...
- C#Random函数在循环中每次获取一样的值
首先需要了解一点Random函数的随机生成是和当前时间有关系,如果在短时间生成随机数,就会导致随机数生成出来是相同的. 不过我们可以在每次随机时指定一个Seed种子值,这样在循环里就可以每次获取不一样 ...
- 将yyyyMMdd,dd/MM/yyyy 类型字符串转换为datetime 类型 yyyy-MM-dd C#
DateTime ConvertDate = DateTime.ParseExact(", "yyyyMMdd", null, System.Globalization. ...
- shape--用代码修改shape的颜色属性
Android里面经常会使用shape来定制一些View的背景,可以修改View的背景颜色,形状等属性 一般情况下,shape都是在xml文件里面写死了,今天遇到一个需求,View的形状是圆角的,但是 ...