4
问题描述
如何读取excel上下标,哪位大神,帮忙解答下,谢谢!!!
问题描述
如何读取excel上下标,哪位大神,帮忙解答下,谢谢!!!
上下标属于富文本特殊样式,只能用POI来读了 给你一段gpt给的poi代码
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadSuperscriptText {
public static void main(String[] args) throws IOException {
// 读取Excel文件
String filePath = "your_file_path.xlsx";
try (FileInputStream fis = new FileInputStream(filePath);
Workbook workbook = new XSSFWorkbook(fis)) {
Sheet sheet = workbook.getSheetAt(0);
// 读取第一行第一列的单元格
Cell cell = sheet.getRow(0).getCell(0);
// 获取富文本内容
RichTextString richTextString = cell.getRichStringCellValue();
// 遍历富文本内容的格式化部分
for (int i = 0; i < richTextString.numFormattingRuns(); i++) {
int startIndex = richTextString.getIndexOfFormattingRun(i);
int endIndex = startIndex + richTextString.getLengthOfFormattingRun(i);
// 获取当前格式化部分的字体
Font font = richTextString.getFontOfFormattingRun(i);
boolean isSuperscript = font.getTypeOffset() == Font.SS_SUPER;
// 获取当前格式化部分的文本
String text = richTextString.getString().substring(startIndex, endIndex);
System.out.println("文本: " + text);
System.out.println("是否上标: " + isSuperscript);
}
}
}
}