伊藤です。
現状では、細い点線にマッピングさせることはできません。
※細い点線は印刷すると単に細い線のように見えてしまうので、利用せずにいました。
線スタイルの設定は、具体的には以下のコードで行っています。
Dim lw As Single = reportDesign.DefaultLineWidth
If Not design.IsNull("line_width") Then
lw = design.Get("line_width")
End If
If lw = 0 Then
Return Nothing
End If
Dim ret As New BorderStyle
If design.Get("doublet") Then
ret.LineStyle = ELineStyle.DOUBLE
Else
Dim ls As String = "solid"
If Not design.IsNull("line_style") Then
ls = design.Get("line_style")
End If
If ls = "dot" Then
If lw >= 2.0F Then
ret.LineStyle = ELineStyle.MEDIUM_DOT
Else
ret.LineStyle = ELineStyle.DOT
End If
ElseIf ls = "dash" Then
If lw >= 2.0F Then
ret.LineStyle = ELineStyle.MEDIUM_DASH
Else
ret.LineStyle = ELineStyle.DASH
End If
ElseIf ls = "dashdot" Then
If lw >= 2.0F Then
ret.LineStyle = ELineStyle.MEDIUM_DASHDOT
Else
ret.LineStyle = ELineStyle.DASHDOT
End If
Else
If lw >= 3.0F Then
ret.LineStyle = ELineStyle.THICK
ElseIf lw >= 2.0F Then
ret.LineStyle = ELineStyle.MEDIUM
Else
ret.LineStyle = ELineStyle.THIN
End If
End If
End If
さらに以下のコードで、Excel (というかNPOI) 上のセルのボーダースタイルにマッピングしています。
Select Case ls
Case BorderStyle.ELineStyle.THIN
Return NPOI.SS.UserModel.BorderStyle.THIN
Case BorderStyle.ELineStyle.THICK
Return NPOI.SS.UserModel.BorderStyle.THICK
Case BorderStyle.ELineStyle.MEDIUM
Return NPOI.SS.UserModel.BorderStyle.MEDIUM
Case BorderStyle.ELineStyle.DOT
Return NPOI.SS.UserModel.BorderStyle.DOTTED ' これは「細い点線」にはなりません。
Case BorderStyle.ELineStyle.DASH
Return NPOI.SS.UserModel.BorderStyle.DASHED
Case BorderStyle.ELineStyle.DASHDOT
Return NPOI.SS.UserModel.BorderStyle.DashDot
Case BorderStyle.ELineStyle.DOUBLE
Return NPOI.SS.UserModel.BorderStyle.DOUBLE
Case BorderStyle.ELineStyle.MEDIUM_DOT
Return NPOI.SS.UserModel.BorderStyle.MediumDashed ' MediumDot という設定値は用意されていないので、代わりに。
Case BorderStyle.ELineStyle.MEDIUM_DASH
Return NPOI.SS.UserModel.BorderStyle.MediumDashed
Case BorderStyle.ELineStyle.MEDIUM_DASHDOT
Return NPOI.SS.UserModel.BorderStyle.MediumDashDot
End Select
細い点線を表示するには、NPOI.SS.UserModel.BorderStyle.Hair という値を利用する必要がありますが、
これにはXlsxRenderer自体に修正を加える必要があります。
Excel上での線スタイルをデザイナから直接指定できる機能、というのが追加されればよろしいでしょうか?