Closed Dream4ever closed 3 years ago
对于 Excel 单元格中的加粗、带下划线这样的带格式文本,ExcelJS 也是能够正常读取的。
用 ExcelJS 录入时,这样的单元格不是普通的字符串,而是带有 richText 属性的对象,文本内容则由数组组成,数组中每个元素的 text 字段都是单元格中文本的一部分,用下面的代码,就可以得到完整的题干文本:
richText
text
let stem = quiz[1].richText.map(ele => ele.text).join('')
题目选项也是类似的,由于选项中会有带下划线的文本段,这样的文本段可以通过 options[i].richText[j].font?.underline 这样的代码进行检查。 在格式化题目时,统一对这样的文本段用 HTML 的 u 标签进行包裹并存入数据库。 在前端展示选项时,可以直接用 Vue 的现成语法 <span v-html="***"></span> ,比较方便。
options[i].richText[j].font?.underline
u
<span v-html="***"></span>
问题描述
对于 Excel 单元格中的加粗、带下划线这样的带格式文本,ExcelJS 也是能够正常读取的。
用 ExcelJS 录入时,这样的单元格不是普通的字符串,而是带有
richText
属性的对象,文本内容则由数组组成,数组中每个元素的text
字段都是单元格中文本的一部分,用下面的代码,就可以得到完整的题干文本:题目选项也是类似的,由于选项中会有带下划线的文本段,这样的文本段可以通过
options[i].richText[j].font?.underline
这样的代码进行检查。 在格式化题目时,统一对这样的文本段用 HTML 的u
标签进行包裹并存入数据库。 在前端展示选项时,可以直接用 Vue 的现成语法<span v-html="***"></span>
,比较方便。