问题描述
"exceljs": "^3.9.0"
我需要创建一个电子表格,其中的单元格具有 2 个不同的值,如下所示。
第一个值需要左对齐,第二个值需要右对齐。
这是我没有“/”的单元格的富文本
[
{
"font": {
"size": 8,"name": "Arial"
},"alignment": {
"vertical": "middle","horizontal": "distributed"
},"text": "392.3 "
},{
"font": {
"color": {
"argb": "00c90a00"
},"size": 8,"text": " -10%"
}
]
和带有“/”的单元格的富文本
[
{
"font": {
"size": 8,{
"font": {
"size": 8,"text": " / "
},"text": " -10%"
}
]
是否可以做第一个屏幕截图的样子?
解决方法
是否可以做第一个屏幕截图的样子?
是的,这是可能的,尽管您无法在同一单元格中以不同方式对齐文本。它不适用于 Excel 本身,因此绝对不适用于 ExcelJS!有数百篇文章在询问有关 Excel 的问题,但其中一句话一针见血:
与 Word 不同,Excel 没有单元格内的段落概念。水平和垂直对齐适用于整个单元格。
引用来自用户 Hansv MVP 的来自 this thread。
您可以通过不同的方式来处理该项目,具体取决于哪种方式最适合您:
-
Split the cells 与数据。 ExcelJS 确实有
.spliceRows()
function,因此您可以使用它(在各个单元格上使用 RichText 格式)。 - 您可以从一开始就实现写入的逻辑,即在一个单元格中实现一部分数据,然后在单元格中实现下一部分数据,依此类推。之后,您可以to color the border 将相邻数据设置为背景颜色,从而将其消失。
- 等
我强烈建议第二种方法。在我看来,这应该是最简单的解决方案,因为您可以正确设置“格式化逻辑”,让您可以自由地使用您正在编写的每个值。