summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cell.go28
-rw-r--r--cell_test.go23
-rw-r--r--xmlStyles.go1
3 files changed, 43 insertions, 9 deletions
diff --git a/cell.go b/cell.go
index a302017..6d4c62b 100644
--- a/cell.go
+++ b/cell.go
@@ -848,7 +848,10 @@ func newRpr(fnt *Font) *xlsxRPr {
if fnt.Family != "" {
rpr.RFont = &attrValString{Val: &fnt.Family}
}
- if fnt.Size > 0.0 {
+ if inStrSlice([]string{"baseline", "superscript", "subscript"}, fnt.VertAlign, true) != -1 {
+ rpr.VertAlign = &attrValString{Val: &fnt.VertAlign}
+ }
+ if fnt.Size > 0 {
rpr.Sz = &attrValFloat{Val: &fnt.Size}
}
if fnt.Color != "" {
@@ -895,7 +898,7 @@ func newRpr(fnt *Font) *xlsxRPr {
// },
// },
// {
-// Text: " italic",
+// Text: "italic ",
// Font: &excelize.Font{
// Bold: true,
// Color: "e83723",
@@ -926,19 +929,34 @@ func newRpr(fnt *Font) *xlsxRPr {
// },
// },
// {
+// Text: " superscript",
+// Font: &excelize.Font{
+// Color: "dbc21f",
+// VertAlign: "superscript",
+// },
+// },
+// {
// Text: " and ",
// Font: &excelize.Font{
-// Size: 14,
-// Color: "ad23e8",
+// Size: 14,
+// Color: "ad23e8",
+// VertAlign: "baseline",
// },
// },
// {
-// Text: "underline.",
+// Text: "underline",
// Font: &excelize.Font{
// Color: "23e833",
// Underline: "single",
// },
// },
+// {
+// Text: " subscript.",
+// Font: &excelize.Font{
+// Color: "017505",
+// VertAlign: "subscript",
+// },
+// },
// }); err != nil {
// fmt.Println(err)
// return
diff --git a/cell_test.go b/cell_test.go
index da251cd..fb1e8ef 100644
--- a/cell_test.go
+++ b/cell_test.go
@@ -590,7 +590,7 @@ func TestSetCellRichText(t *testing.T) {
},
},
{
- Text: "text with color and font-family,",
+ Text: "text with color and font-family, ",
Font: &Font{
Bold: true,
Color: "2354e8",
@@ -612,19 +612,34 @@ func TestSetCellRichText(t *testing.T) {
},
},
{
+ Text: " superscript",
+ Font: &Font{
+ Color: "dbc21f",
+ VertAlign: "superscript",
+ },
+ },
+ {
Text: " and ",
Font: &Font{
- Size: 14,
- Color: "ad23e8",
+ Size: 14,
+ Color: "ad23e8",
+ VertAlign: "BASELINE",
},
},
{
- Text: "underline.",
+ Text: "underline",
Font: &Font{
Color: "23e833",
Underline: "single",
},
},
+ {
+ Text: " subscript.",
+ Font: &Font{
+ Color: "017505",
+ VertAlign: "subscript",
+ },
+ },
}
assert.NoError(t, f.SetCellRichText("Sheet1", "A1", richTextRun))
assert.NoError(t, f.SetCellRichText("Sheet1", "A2", richTextRun))
diff --git a/xmlStyles.go b/xmlStyles.go
index 71fe9a6..0000d45 100644
--- a/xmlStyles.go
+++ b/xmlStyles.go
@@ -341,6 +341,7 @@ type Font struct {
Size float64 `json:"size"`
Strike bool `json:"strike"`
Color string `json:"color"`
+ VertAlign string `json:"vertAlign"`
}
// Fill directly maps the fill settings of the cells.