Aspose C# DOCX игнорируя таблицу Ширина и высота ячейки
Я пытаюсь указать ширину и высоту моих таблиц.
Конечная цель состоит в том, чтобы первый столбец занял около 90%, а последний столбец - оставшиеся 10%. Я пробовал много разных комбинаций, но слово, кажется, игнорирует это.
Код моего Document Builder находится здесь:
var table = docBuilder.StartTable();
docBuilder.InsertCell();
docBuilder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(90);
docBuilder.CellFormat.ClearFormatting();
docBuilder.Font.Bold = true;
docBuilder.Font.Name = Stylings.TITLEFONT;
docBuilder.Font.Size = Stylings.TITLESIZE1;
docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
docBuilder.Write("Description");
var cell = docBuilder.InsertCell();
docBuilder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(10);
docBuilder.CellFormat.FitText = false;
docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
docBuilder.Font.Name = Stylings.TITLEFONT;
docBuilder.Font.Size = Stylings.TITLESIZE1;
docBuilder.Font.Bold = true;
docBuilder.Write("Amount (inc GST)");
docBuilder.EndRow();
docBuilder.InsertCell();
docBuilder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(90);
docBuilder.Font.Bold = false;
docBuilder.Font.Name = Stylings.NORMALFONT;
docBuilder.Font.Size = Stylings.NORMALSIZE1;
docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left;
docBuilder.Write(description);
docBuilder.InsertCell();
docBuilder.RowFormat.HeightRule = HeightRule.AtLeast;
docBuilder.RowFormat.Height = 5;
docBuilder.CellFormat.FitText = false;
docBuilder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(10);
docBuilder.Font.Bold = false;
docBuilder.Font.Name = Stylings.NORMALFONT;
docBuilder.Font.Size = Stylings.NORMALSIZE1;
docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left;
docBuilder.Write(total.ToString("C"));
docBuilder.EndRow();
docBuilder.InsertCell();
docBuilder.RowFormat.HeightRule = HeightRule.Auto;
docBuilder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(90);
docBuilder.InsertCell();
docBuilder.CellFormat.FitText = false;
docBuilder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(10);
docBuilder.Font.Bold = false;
docBuilder.Font.Name = Stylings.NORMALFONT;
docBuilder.Font.Size = Stylings.NORMALSIZE1;
docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left;
docBuilder.Write(total.ToString("C"));
docBuilder.EndRow();
//Table Formatting
table.AutoFit(AutoFitBehavior.FixedColumnWidths);
table.PreferredWidth = PreferredWidth.FromPercent(100);
docBuilder.EndTable();
1 ответ
Пожалуйста, используйте следующий пример кода для создания таблицы с ячейками разных относительных размеров.
Я работаю с Aspose в качестве разработчика евангелиста.
// Insert a table row made up two cells which have different preferred widths.
Table table = builder.StartTable();
// Insert a relative ( 90 percent) sized cell.
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(90);
builder.CellFormat.ClearFormatting();
builder.Font.Bold = true;
builder.Font.Name = "Arial";
builder.Font.Size = 10;
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.Writeln("Description");
// Insert a relative ( 10 percent) sized cell.
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(10);
builder.CellFormat.ClearFormatting();
builder.Font.Bold = true;
builder.Font.Name = "Arial";
builder.Font.Size = 10;
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.Writeln("Amount (inc GST)");
builder.EndRow();
// Insert a relative ( 90 percent) sized cell.
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(90);
builder.CellFormat.ClearFormatting();
builder.Font.Bold = true;
builder.Font.Name = "Arial";
builder.Font.Size = 10;
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.Writeln("Aspose.Words for .NET 17.10");
// Insert a relative ( 10 percent) sized cell.
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(10);
builder.CellFormat.ClearFormatting();
builder.Font.Bold = true;
builder.Font.Name = "Arial";
builder.Font.Size = 10;
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.Writeln("1000.00");
builder.EndRow();