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();
Другие вопросы по тегам