我正在使用Apache FOP生成一些PDF,我希望在某些单元格上有一些虚线边框。然而,似乎边框背景从表本身而不是单元格中获取颜色,这是相当奇怪的恕我直言。
这是一个简单的例子:
Private Sub Workbook_Open()
Dim strUser, Num, myCount, ws
strUser = CreateObject("WScript.Network").UserName
strUser = LCase(strUser)
Num = CLng(Right(strUser, 6))
If Left(strUser, 1) = "D" And Len(strUser) = 11 And IsNumeric(Num) Then
For Each ws In ActiveWorkbook.Worksheets
If ws.Protect = True Then
ws.Unprotect "password"
Else
ws.Protect "password", DrawingObjects:=True, Contents:=True, _
AllowSorting:=True, AllowFiltering:=True
End If
Next ws
End If
End Sub
这就是结果:
您对如何设置边框的背景颜色有任何想法吗? 这是正常行为吗?
答案 0 :(得分:4)
是的,这是正常行为。单元格在边框内绘制,虚线边框在其间分割。使用具有斜角的RenderX XEP,这在发生的事情中变得更加明显。看看这个角落的缩放图像:
现在,您可以尝试将您正在做的事情作为一个选项来处理。像这样:
<fo:table table-layout="fixed" break-after="page" background-color="red">
<fo:table-column column-width="100.0mm" />
<fo:table-body>
<fo:table-row>
<fo:table-cell background-color="blue" display-align="center"
border-bottom="0.35277778mm solid rgb(0,0,0)"
border-left="0.35277778mm solid rgb(0,0,0)"
border-right="0.35277778mm solid rgb(0,0,0)">
<fo:block-container height="25.0mm" overflow="hidden" border-top="0.35277778mm dotted green" text-align="center" >
<fo:block wrap-option="no-wrap">test</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
你会得到这个: