700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ClosedXML.Excel 关于转化sub与sup标签为上标下标的操作

ClosedXML.Excel 关于转化sub与sup标签为上标下标的操作

时间:2019-12-02 05:03:59

相关推荐

ClosedXML.Excel 关于转化sub与sup标签为上标下标的操作

.NET ClosedXML.Excel 关于转化sub与sup标签为上标下标的操作

上标和下标常见于一些数学公式和化学表达式中,有时候我们需要将这些数学公式和化学式插入到Excel中,因此就涉及到如何在Excel中插入上标和下标。本文将介绍如何使用C#和ClosedXML.Excel

组件在Excel文档中插入上标和下标。

在使用以下代码前,需要引用ClosedXML.Excel.dll到工程中,并添加命名空间

using ClosedXML.Excel;using System.IO;using System;

private string SUB_START = "<sub>";private string SUB_END = "</sub>";private string SUP_START = "<sup>";private string SUP_END = "</sup>";public void ExeclRichText(string s,IXLCell cell){if (containSubSup(s)){if ((s.IndexOf(SUB_START) < s.IndexOf(SUP_START) || s.IndexOf(SUP_START) < 0) && s.IndexOf(SUB_START) > -1){//表示先有sub_start标签if (s.IndexOf(SUB_START) > 0){cell.RichText.AddText(s.Substring(0, s.IndexOf(SUB_START)));}int n1, n2;n1 = s.IndexOf(SUB_START) + SUB_START.Length; //开始位置 n2 = s.IndexOf(SUB_END);//结束位置 cell.RichText.AddText(s.Substring(n1, n2 - n1)).SetVerticalAlignment(XLFontVerticalTextAlignmentValues.Subscript); //取搜索的条数,用结束的位置-开始的位置,并返回 s = s.Substring(n2 + SUB_END.Length);ExeclRichText(s, cell);}if ((s.IndexOf(SUB_START) > s.IndexOf(SUP_START) || s.IndexOf(SUB_START) < 0) && s.IndexOf(SUP_START) > -1){//表示先有sub_start标签if (s.IndexOf(SUP_START) > 0){cell.RichText.AddText(s.Substring(0, s.IndexOf(SUP_START)));}int n1, n2;n1 = s.IndexOf(SUP_START) + SUP_START.Length; //开始位置 n2 = s.IndexOf(SUP_END);//结束位置 cell.RichText.AddText(s.Substring(n1, n2 - n1)).SetVerticalAlignment(XLFontVerticalTextAlignmentValues.Subscript); //取搜索的条数,用结束的位置-开始的位置,并返回 s = s.Substring(n2 + SUP_END.Length);ExeclRichText(s, cell);}}else{cell.RichText.AddText(s);}}public bool containSubSup(string s){return (s.Contains(SUB_START) && s.Contains(SUB_END)) || (s.Contains(SUP_START) && s.Contains(SUP_END));}

调用方法

ExeclRichText("NH<sub>3</sub>.H<sub>2</sub>O", ws.Cell("A7"));

效果

/ClosedXML/ClosedXML

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。