Aspose.Word 操作word复杂表格 拆分单元格 复制行 插入行 文字颜色
private void button3_Click(object sender, EventArgs e)
{
object savePathWord ="row.docx";
File.Copy("rowtemplate.docx", savePathWord.ToString(),true);
Aspose.Words.Document doc = new Aspose.Words.Document(savePathWord.ToString());
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true);
Aspose.Words.Tables.Table table = allTables[0] as Aspose.Words.Tables.Table;//拿到第一个表格
for (int i = 0; i < 5; i++)
{
var roww = table.Rows[2];
//var row = table.LastRow.Clone(true);
var row = roww.Clone(true);//复制第三行(绿色行)
table.Rows.Insert(2 + i, row);//将复制的行插入当前行的上方
}
//var row3=table.Rows[3];
//row3.Cells[0].AppendChild(new Paragraph(doc).AppendChild(new Run(doc, "test"))); //报错
builder.MoveToCell(0,3,0,0); //移动到第一个表格的第四行第一个格子
builder.Write("test"); //单元格填充文字
//不能用此方法 表格会错乱
//var row1 = CreateRow(7, new string[] { "1" }, doc);
//var row2 = CreateRow(12, new string[] { "2" }, doc);
//table.Rows.Insert(3, row1);
//table.Rows.Add(row2);
doc.Save(savePathWord.ToString());
MessageBox.Show("ok");
System.Diagnostics.Process.Start(savePathWord.ToString());
}
Aspose.Words.Tables.Cell CreateCell(string value,Document doc)
{
Aspose.Words.Tables.Cell c1 = new Aspose.Words.Tables.Cell(doc);
c1.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None;
c1.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
Aspose.Words.Paragraph p = new Paragraph(doc);
p.AppendChild(new Run(doc,value));
c1.AppendChild(p);
return c1;
}
Aspose.Words.Tables.Row CreateRow(int columnCount,string[] columnValues,Document doc)
{
Aspose.Words.Tables.Row r2 = new Aspose.Words.Tables.Row(doc);
for (int i = 0; i < columnCount; i++)
{
if (columnValues.Length >i)
{
var cell = CreateCell(columnValues[i], doc);
r2.Cells.Add(cell);
}
else
{
var cell = CreateCell("", doc);
r2.Cells.Add(cell);
}
}
return r2;
}
修改文字颜色:
builder.MoveToCell(0, index + dindex, 2, 0);
Aspose.Words.Font font = builder.Font;
font.Color = System.Drawing.Color.Red;
builder.Write("testtest");
font.Color = System.Drawing.Color.Black;
版权声明:本文为博主原创文章,未经博主允许不得转载。
- Aspose.Word 操作word复杂表格 拆分单元格 复制行 插入行
- Asp的两个内置对象request和response
- C#语法糖之Cookies操作类 asp.net
- Metasploit渗透学习日记
- OSX10.10 Yosemite安装Metasploit
- 使用ASP.Net WebAPI构建REST服务——客户端
- 使用CLK.AspNet.Identity提供以角色为基础的访问控制(RBAC)
- C#语法糖之 session操作类 asp.net
- Aspose.Word 操作word表格的行 插入行 添加行
- Aspose.Word 操作word表格的行 插入行 添加行
- ASP.NET中使用Excel导入数据到数据库
- Aspose.Words.Tables.Row类操作word表格行
- Aspose.Words.Tables.Row类操作word表格行
- asp.net 使用UrlRewritingNet.UrlRewriter组件URL重写,伪静态详解
- ASP.NET forms凭据设置和跳转的几种方法
- Asp.net mvc5开源项目"超级冷笑话"
- Visual Studio C#的winform/webform/asp.net控件命名规范
- asp.net页面去调用通过SSL加密的webservice报错
- asp.net mvc4 简单使用Autofac依赖注入小结
- A Reusable Aspect for Memory Allocation Checking