forked from fanruan/easyexcel
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.5 KiB
59 lines
1.5 KiB
package com.alibaba.excel.metadata.data; |
|
|
|
import java.util.List; |
|
|
|
import com.alibaba.excel.util.ListUtils; |
|
import com.alibaba.excel.write.metadata.style.WriteFont; |
|
|
|
import lombok.AllArgsConstructor; |
|
import lombok.Data; |
|
import lombok.NoArgsConstructor; |
|
|
|
/** |
|
* rich text string |
|
* |
|
* @author Jiaju Zhuang |
|
*/ |
|
@Data |
|
@NoArgsConstructor |
|
public class RichTextStringData { |
|
private String textString; |
|
private WriteFont writeFont; |
|
private List<IntervalFont> intervalFontList; |
|
|
|
public RichTextStringData(String textString) { |
|
this.textString = textString; |
|
} |
|
|
|
@Data |
|
@AllArgsConstructor |
|
public static class IntervalFont { |
|
private Integer startIndex; |
|
private Integer endIndex; |
|
private WriteFont writeFont; |
|
} |
|
|
|
/** |
|
* Applies a font to the specified characters of a string. |
|
* |
|
* @param startIndex The start index to apply the font to (inclusive) |
|
* @param endIndex The end index to apply to font to (exclusive) |
|
* @param writeFont The font to use. |
|
*/ |
|
public void applyFont(int startIndex, int endIndex, WriteFont writeFont) { |
|
if (intervalFontList == null) { |
|
intervalFontList = ListUtils.newArrayList(); |
|
} |
|
intervalFontList.add(new IntervalFont(startIndex, endIndex, writeFont)); |
|
} |
|
|
|
/** |
|
* Sets the font of the entire string. |
|
* |
|
* @param writeFont The font to use. |
|
*/ |
|
public void applyFont(WriteFont writeFont) { |
|
this.writeFont = writeFont; |
|
} |
|
|
|
}
|
|
|