首页 新闻 会员 周边 捐助

c# 读取excel中的特殊字符 比如² ,-1(上标),®(上标)

0
悬赏园豆:180 [已解决问题] 解决于 2023-10-07 17:55

现在NPOI和Aspose 都是解析成 数字2和-1了

何以解忧唯有撸码的主页 何以解忧唯有撸码 | 初学一级 | 园豆:37
提问于:2022-04-08 16:06

你想解析成什么样的?

会长 2年前

不然呢?

luzemin 2年前

@会长: 和EXCEL显示一样,上标显示

何以解忧唯有撸码 2年前
< >
分享
最佳答案
1

我觉得可能需要自己写代码控制。那个上标就是普通文本,只是加了特殊标记,显示为了上标。比如在excel文件里搞两个单元格,一个写C=M^2(假装是上标),另一个写Ca=M2。把.xlsx文件重命名为.zip文件,解压后你对比下这两个单元格的不同:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sst
    xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="2" uniqueCount="2">
    <si>
        <r>
            <rPr>
                <sz val="11"/>
                <color theme="1"/>
                <rFont val="宋体"/>
                <charset val="134"/>
                <scheme val="minor"/>
            </rPr>
            <t>Ca=M</t>
        </r>
        <r>
            <rPr>
                <vertAlign val="superscript"/>
                <sz val="11"/>
                <color theme="1"/>
                <rFont val="宋体"/>
                <charset val="134"/>
                <scheme val="minor"/>
            </rPr>
            <t>2</t>
        </r>
    </si>
    <si>
        <t>Ca=M2</t>
    </si>
</sst>

如果你用第三方类库,看看是不是可以得到“superscript”这个值,可以根据此值判断一个字符串是不是上标

收获园豆:180
会长 | 专家六级 |园豆:12463 | 2022-04-12 10:01

谢谢会长,这个方法我也想到过,但是excel数据太多了,每行每个单元格这样解析太耗时了

何以解忧唯有撸码 | 园豆:37 (初学一级) | 2022-04-12 10:33

@何以解忧唯有撸码: 不用谢,反正是比较麻烦吧,如果没有其它办法,只能自己解析xml了。

会长 | 园豆:12463 (专家六级) | 2022-04-12 10:36
其他回答(2)
0

去看看SPIRE行不行

LiveCoding | 园豆:502 (小虾三级) | 2022-04-11 16:25

不行,平方和-1的上标显示不了

支持(0) 反对(0) 何以解忧唯有撸码 | 园豆:37 (初学一级) | 2022-04-12 10:33
0

Free Spire.XLS for .NET 8.3(社区版)

HelloLLLLL | 园豆:437 (菜鸟二级) | 2022-04-11 20:58

平方和-1的上标显示不了

支持(0) 反对(0) 何以解忧唯有撸码 | 园豆:37 (初学一级) | 2022-04-12 10:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册