Node.js - получить верхний индекс и нижний индекс в Excel

Я анализирую Excel, который имеет верхние индексы и подписки и хочу заключить их в следующую строку:

 <sup>superscripted value</sup> 
 <sub>subscripted value</sub>

попытался использовать xlsx, Excel Parser и SheetJS, чтобы попытаться определить, было ли значение надстрочным или подписным.

Есть ли какой-либо другой способ определить, было ли значение подписано / взято?

1 ответ

Решение

Попробуйте использовать xlsx-populate

let sup_sub_map = {
    "superscript": "<sup>",
    "superscriptEnd": "</sup>",
    "subscript": "<sub>",
    "subscriptEnd": "</sub>",
};

//assuming you have parsed till cell value:
cellValue.foreach(sub_value => {
    if (sub_value['children'].length > 1) {
       let type = sup_sub_map[sub_value['children'][0]["children"][0]["attributes"]["val"]];
       let endType = sup_sub_map[sub_value['children'][0]["children"][0]["attributes"]["val"] + "End"];
       newVal = newVal + type + sub_value['children'][1]["children"][0] + endType
    } else {
        newVal = newVal + sub_value["children"][0]["children"][0];
    }
});

Это не самый чистый или лучший способ сделать это, но, безусловно, выполняет свою работу. Не встречал никакой другой библиотеки, которая дает индекс нижнего или верхнего индекса.

Другие вопросы по тегам