Aspose.Words 混合 RowFormat.Borders.Horizontal.LineStyle
Aspose.Words mixed RowFormat.Borders.Horizontal.LineStyle
我们在创建 table 与混合 RowFormat.Borders.Horizontal.LineStyle
时遇到问题。我们的要求是具有以下内容(注意黑色实线):
我们得到的最接近的是:
我们已经尝试了各种方法,但似乎无法获得所需的 table。
下面是我们目前所拥有的示例代码……
using Aspose.Words;
using Aspose.Words.Tables;
using System;
using System.Diagnostics;
int i = 1;
var doc = new Document();
var builder = new DocumentBuilder(doc);
builder.StartTable();
builder.RowFormat.Borders.Horizontal.LineStyle = LineStyle.Dot;
InsertCellAuto();
InsertCell("merge 1");
builder.CellFormat.VerticalMerge = CellMerge.First;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCellAuto();
builder.CellFormat.VerticalMerge = CellMerge.Previous;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCell("merge 2");
builder.CellFormat.VerticalMerge = CellMerge.First;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCellAuto();
builder.CellFormat.VerticalMerge = CellMerge.Previous;
builder.EndRow();
builder.EndTable();
string fileName = $"{DateTime.Now.ToString("HHmmss")}.docx";
doc.Save(fileName);
Process.Start(fileName);
void InsertCellAuto() => InsertCell(i++.ToString());
void InsertCell(string text)
{
builder.InsertCell();
builder.Writeln(text);
}
您可以使用以下代码满足此要求:
int i = 1;
var doc = new Document();
var builder = new DocumentBuilder(doc);
Table tab = builder.StartTable();
InsertCellAuto();
InsertCell("merge 1");
builder.CellFormat.VerticalMerge = CellMerge.First;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCellAuto();
builder.CellFormat.VerticalMerge = CellMerge.Previous;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCell("merge 2");
builder.CellFormat.VerticalMerge = CellMerge.First;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCellAuto();
builder.CellFormat.VerticalMerge = CellMerge.Previous;
builder.EndRow();
builder.EndTable();
// Apply Dotted line styles to all Rows
foreach (Row r in tab.Rows)
{
r.RowFormat.Borders.Horizontal.LineStyle = LineStyle.Dot;
}
// Apply Single line styles to a particular Row
Row row = tab.Rows[1];
foreach (Cell cell in row.Cells)
{
cell.CellFormat.Borders[BorderType.Bottom].LineStyle = LineStyle.Single;
}
doc.Save("D:\temp\18.10.docx");
void InsertCellAuto() => InsertCell(i++.ToString());
void InsertCell(string text)
{
builder.InsertCell();
builder.Writeln(text);
}
我在 Aspose 工作,担任开发人员推广员。
我们在创建 table 与混合 RowFormat.Borders.Horizontal.LineStyle
时遇到问题。我们的要求是具有以下内容(注意黑色实线):
我们得到的最接近的是:
我们已经尝试了各种方法,但似乎无法获得所需的 table。
下面是我们目前所拥有的示例代码……
using Aspose.Words;
using Aspose.Words.Tables;
using System;
using System.Diagnostics;
int i = 1;
var doc = new Document();
var builder = new DocumentBuilder(doc);
builder.StartTable();
builder.RowFormat.Borders.Horizontal.LineStyle = LineStyle.Dot;
InsertCellAuto();
InsertCell("merge 1");
builder.CellFormat.VerticalMerge = CellMerge.First;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCellAuto();
builder.CellFormat.VerticalMerge = CellMerge.Previous;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCell("merge 2");
builder.CellFormat.VerticalMerge = CellMerge.First;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCellAuto();
builder.CellFormat.VerticalMerge = CellMerge.Previous;
builder.EndRow();
builder.EndTable();
string fileName = $"{DateTime.Now.ToString("HHmmss")}.docx";
doc.Save(fileName);
Process.Start(fileName);
void InsertCellAuto() => InsertCell(i++.ToString());
void InsertCell(string text)
{
builder.InsertCell();
builder.Writeln(text);
}
您可以使用以下代码满足此要求:
int i = 1;
var doc = new Document();
var builder = new DocumentBuilder(doc);
Table tab = builder.StartTable();
InsertCellAuto();
InsertCell("merge 1");
builder.CellFormat.VerticalMerge = CellMerge.First;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCellAuto();
builder.CellFormat.VerticalMerge = CellMerge.Previous;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCell("merge 2");
builder.CellFormat.VerticalMerge = CellMerge.First;
builder.EndRow();
builder.CellFormat.VerticalMerge = CellMerge.None; //reset
InsertCellAuto();
InsertCellAuto();
builder.CellFormat.VerticalMerge = CellMerge.Previous;
builder.EndRow();
builder.EndTable();
// Apply Dotted line styles to all Rows
foreach (Row r in tab.Rows)
{
r.RowFormat.Borders.Horizontal.LineStyle = LineStyle.Dot;
}
// Apply Single line styles to a particular Row
Row row = tab.Rows[1];
foreach (Cell cell in row.Cells)
{
cell.CellFormat.Borders[BorderType.Bottom].LineStyle = LineStyle.Single;
}
doc.Save("D:\temp\18.10.docx");
void InsertCellAuto() => InsertCell(i++.ToString());
void InsertCell(string text)
{
builder.InsertCell();
builder.Writeln(text);
}
我在 Aspose 工作,担任开发人员推广员。