0

我需要一些关于在 VB.NET 的 excel 中的单个单元格中应用多个编辑选项的指示

我有一个 Excel 文档,我需要在一个单元格中输入三行文本。
这三行将在数据库中保存为带有中断的单个文本。
我已从数据库中获取文本并将其应用到 Excel 中,但单个单元格中的三行文本具有三种不同的格式。

例如:
- 第一行需要是粗体和粉红色,并且在
- 第二行中,一些字母需要是粗体和蓝色
- 第三行是黑色,没有格式。

如何以编程方式将这三种格式应用于从数据库中获取的三行单行文本?

有没有办法在 VB.NET 本身中执行此操作,或者我可以进行一些其他绕过编码,以便在插入 Excel 后对文本进行格式化,或者我修改数据库中的文本以便在插入时识别格式?

这是我到目前为止的代码:

wk = ex.Workbooks.Open("TEST.xls") st = wk.Worksheets(1) 
st.Cells(row, 3) = reader.GetValue(5).ToString()
4

1 回答 1

0

很简单,在 Excel 中记录一个宏,然后将该代码移植到 VB.net。

所以这里是录音:

Sub Macro1()
'
' Macro1 Macro
'

'
    ActiveCell.FormulaR1C1 = "line1, line2, line3"
    With ActiveCell.Characters(Start:=1, Length:=5).Font
        .Name = "Calibri"
        .FontStyle = "Bold"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.599993896298105
        .ThemeFont = xlThemeFontMinor
    End With
    With ActiveCell.Characters(Start:=8, Length:=5).Font
        .Name = "Calibri"
        .FontStyle = "Bold"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight2
        .TintAndShade = 0.399975585192419
        .ThemeFont = xlThemeFontMinor
    End With
    With ActiveCell.Characters(Start:=13, Length:=7).Font
        .Name = "Calibri"
        .FontStyle = "Regular"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With
End Sub

现在只需将该代码移植到 VB.net 即可。

您只需要确定格式化是否从哪里开始。
为此,您需要搜索行尾字符。

于 2013-09-12T09:58:56.857 回答