当前位置: 首页 > 知识库问答 >
问题:

打开XML表格单元格字体、宽度

易成天
2023-03-14

如何在word文件的特定位置(该位置是段落的文本)插入表格(请参见下面的代码)。然后可以设置表格单元格的字体和宽度?

Dim table As New Table()
Dim tblBorders As New TableBorders()
tblBorders.TopBorder = New TopBorder()
tblBorders.TopBorder.Val = New EnumValue(Of BorderValues)(BorderValues.[Single])
tblBorders.BottomBorder = New BottomBorder()
tblBorders.BottomBorder.Val = New EnumValue(Of BorderValues)(BorderValues.[Single])
tblBorders.LeftBorder = New LeftBorder()
tblBorders.LeftBorder.Val = New EnumValue(Of BorderValues)(BorderValues.[Single])
tblBorders.RightBorder = New RightBorder()
tblBorders.RightBorder.Val = New EnumValue(Of BorderValues)(BorderValues.[Single])
tblBorders.InsideHorizontalBorder = New InsideHorizontalBorder()
tblBorders.InsideHorizontalBorder.Val = BorderValues.[Single]
tblBorders.InsideVerticalBorder = New InsideVerticalBorder()
tblBorders.InsideVerticalBorder.Val = BorderValues.[Single]
tblPr.Append(tblBorders)
table.Append(tblPr)
trnew = New TableRow()
tc = New TableCell(New Paragraph(New Run(New Text("A"))))
trnew.Append(tc)
tc = New TableCell(New Paragraph(New Run(New Text("B"))))
trnew.Append(tc)
tc = New TableCell(New Paragraph(New Run(New Text("C"))))
Dim tcp As New TableCellProperties()
Dim gridSpan As New GridSpan()
gridSpan.Val = 4
tcp.Append(gridSpan)
tc.Append(tcp)
trnew.Append(tc)
tc = New TableCell(New Paragraph(New Run(New Text("D"))))
trnew.Append(tc)
table.Append(trnew)

谢了!

共有1个答案

顾高扬
2023-03-14

访问文档正文,向下解析正文并插入表

下面的C#代码

        //Body is a class in DocumentFormat.OpenXml.Wordprocessing.Body
        // and document part in DocumentFormat.OpenXml.Packaging.MainDocumentPart
        Body body = doc.MainDocumentPart.Document.Body;

        //Traverse the complete document body paragraph by paragraph
        foreach (Paragraph para in body.Descendants<Paragraph>())
        {
           if(para.InnerText.Contains("text the identifies this para")
           {
               para.InserAfterSelf(Table)
           }               
        }

如果您不能很好地理解docx格式,请使用openxml生产力工具for open xml version2.5 http://download.microsoft.com/download/5/5/3/553C731E-9333-40fb-ade3-e02dc9643b31/OpenXMLSDKToolv25.msi

 类似资料:
  • 问题内容: 我在表容器中有不确定数量的表单元元素。 有没有一种纯粹的CSS方法可以使表格单元具有相等的宽度,即使它们内部具有不同大小的内容? 谢谢。 编辑:具有最大宽度将需要知道您有多少个单元格? 问题答案: 这是工作单元数不确定的有效 您可以为每个父对象固定一个宽度( 表格 ),否则通常将为100%。 诀窍是使用 每个单元上的一定宽度触发它,这里是2%。这将触发 另一个 表算法,浏览器会尽力遵守

  • 问题内容: 许多人仍然使用表格来布局控件,数据等。-流行的jqGrid就是一个例子。但是,发生了一些我似乎无法理解的魔术(它的桌子大声喊叫,可能有多少魔术?) 如何设置表的列宽并使它像jqGrid那样遵守!?如果我尝试复制此内容,即使我设置了every ,只要这些单元格之一的内容大于20px,该单元格就会展开! 有什么想法或见解吗? 问题答案: 您可以尝试对所有行使用标签管理表样式,但是您需要在或

  • 问题内容: 小提琴说明了一切。我想要一个仅限CSS的解决方案,将表的宽度限制为div的宽度。长字符串应被打断(但是您可以看到它不是),这将导致表溢出。 我不想使用任何像素宽度。这应该是完全流畅的。 问题答案: 大家看看

  • 问题内容: 许多人仍然使用表格来布局控件,数据等。-流行的jqGrid就是一个例子。但是,发生了一些我似乎无法理解的魔术(它的桌子大声喊叫,可能会有多少魔术?) 如何设置表的列宽并使它像jqGrid那样遵守!?如果我尝试复制此内容,即使我设置了every ,只要这些单元格之一的内容大于20px,该单元格就会展开! 有什么想法或见解吗? 问题答案: 您可以尝试对所有行使用标签管理表样式,但是您需要在

  • 问题内容: 我有一张table 我如何使两行具有不同的单元格宽度? 问题答案: 据我所知,这是不可能的,这是有道理的,因为您要尝试做的事情与表格数据表示的想法背道而驰。但是,您可以将数据放在多个表中,并删除它们之间的任何填充和边距,以至少在视觉上达到相同的结果。类似于以下内容: 我不知道您的要求,但是我敢肯定有一个更优雅的解决方案。

  • 问题内容: 我想根据第1列中的值给表格单元格上色,如果值不等于第1列中的值,则颜色应为青色,但我的代码不起作用: 问题答案: 是否必须突出显示单元格的决定必须在TableCellRenderer中进行。它不能在JTable中进行。因此,(没有)没有理由要重写JTable中的方法。相反,您可以将列的CellRenderer设置为TableCellRenderer的自己实现。 在此示例中,列2和3接收