不带边框的Novacode Docx中的垂直表格

5

嘿,我是新手,想使用Novacode Docx WebAPI打印一个没有边框的竖向表格。我有以下代码可以打印出这样的表格。我也有屏幕截图,可能对解决我的问题有帮助。

private void Document_3_SecondaryDetail(DocX document, string dist, System.Data.DataTable Doc3_SecondaryDetail)
{
    try
    {

        string headlineText = "";
        string paraOne = "";
        var headLineFormat = new Formatting();
        headLineFormat.FontFamily = new System.Drawing.FontFamily("Arial Black");
        headLineFormat.Size = 18D;
        headLineFormat.Position = 12;
        var paraFormat = new Formatting();
        paraFormat.FontFamily = new System.Drawing.FontFamily("Calibri");
        paraFormat.Size = 10D;
        Novacode.Table SecondaryDetailDoc3 = document.AddTable(Doc3_SecondaryDetail.Select("District = '" + dist + "'").Count() + 1, Doc3_SecondaryDetail.Columns.Count);
        SecondaryDetailDoc3.Alignment = Alignment.left;
        SecondaryDetailDoc3.Design = TableDesign.LightGridAccent1;

        int columnNumber = 0;
        foreach (DataColumn columns in Doc3_SecondaryDetail.Columns)
        {
            SecondaryDetailDoc3.Rows[0].Cells[columnNumber].Paragraphs.First().Append(char.ToUpper(columns.ColumnName[0]) + columns.ColumnName.Substring(1).Replace("_", " "));
            columnNumber++;
        }
        int rowIndex = 1;
        foreach (DataRow row in Doc3_SecondaryDetail.Select("District = '" + dist + "'"))
        {
            int colIndex = 0;
            foreach (var item in row.ItemArray)
            {
                SecondaryDetailDoc3.Rows[rowIndex].Cells[colIndex].Paragraphs.First().Append(item.ToString());
                colIndex++;
            }
            rowIndex++;
        }
        document.InsertParagraph(headlineText, false, headLineFormat);
        document.InsertParagraph(paraOne, false, paraFormat);
        document.InsertTable(SecondaryDetailDoc3);
        document.InsertParagraph("");
        document.Save();
    }
    catch (Exception ex)
    {
    }
}    enter code here

但我想要这种类型的结果 enter image description here 我想要没有边框的垂直样式表格 这是当前输入 enter image description here 提前致谢
1个回答

7

将边框颜色设置为白色。

示例:

  table.Rows[i].Cells.Last().SetBorder(TableCellBorderType.Left, new Border(BorderStyle.Tcbs_double, BorderSize.one, 1, Color.Transparent));

它正在显示空表格,但仍然显示边框。 - Ali Raza
尝试不同的BorderSize值。您还可以尝试Color.Transparent。我肯定成功地获得了无形边框。 - John
1
代码的最新版本是“table.Rows[i].Cells.Last().SetBorder(TableCellBorderType.Left, new Border(BorderStyle.Tcbs_double, BorderSize.one, 1, Color.Transparent));”,但它也可以使用Color.White正常工作。 - John
你也可以使用模板文档来代替从头开始生成表格。你只需要使用DocX.Load方法,并通过document.Tables[0]获取表格即可。 - John
非常感谢,兄弟。现在它可以工作了。 - Ali Raza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接