excel列头样例: "test<sub>1</sub>" , "test<sup>2</sup>",//详细代码
private static final Pattern scriptPattern = Pattern.compile("<(su[b|p])>([^<>]+)</\\1>");public RichTextString getRichTextHeader(String value){Matcher scriptMatcher = scriptPattern.matcher(value);String label,labelContent, labelName, temp = value;int start,end;List<SubSupFont> list = new ArrayList<>();Workbook workbook = new SXSSFWorkbook();while(scriptMatcher.find()){Font ft = workbook.createFont();label = scriptMatcher.group(0); //一组标签,如:<sub>a</sub>labelName = scriptMatcher.group(1); // 标签名字,如:sub/suplabelContent = scriptMatcher.group(2); // 标签之间的内容,如:astart = temp.indexOf(label);//这个标签的起始位置end = start + labelContent.length(); //这个标签的内容长度temp = temp.replace(label, labelContent); // 替换一组标签为标签之间的内容if(StringUtils.isEmpty(temp)){continue;}if("sub".equalsIgnoreCase(labelName)){ft.setTypeOffset(HSSFFont.SS_SUB); //下标}else{ft.setTypeOffset(HSSFFont.SS_SUPER); //上标}list.add(new ScriptFont(start,end,ft));}RichTextString richTextString;if(list.size() > 0){richTextString = new XSSFRichTextString(temp);for(ScriptFont scriptFont: list){richTextString.applyFont(scriptFont.getStart(),scriptFont.getEnd(),scriptFont.getFt());}}else{richTextString = new XSSFRichTextString(value);}return richTextString;}//然后把上面的设置给cell的value,如下所示:
cell.setCellValue(getRichTextHeader("test<sub>1</sub>"));//ScriptFont类如下:
@Data
@AllArgsConstructor
public class ScriptFont{public int start;public int end;public Font ft;
}以上代码支持XSSFWorkbook, 而SXSSFWorkbook大数据量下载的不支持,因为流格式数据不是放在共享内存里面的

excel-xssfx文件下载导出上下标代码相关推荐

  1. 怎么批量取消Excel文件中的上下标

    今天跟大家分享一下怎么批量取消Excel文件中的上下标 1.打开Excel文件 2.选中要处理的单元格区域 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细解说.) ...

  2. html同时上下标签,excel如何同时设置上下标

    怎样在excel中同时输入上下标 在单元格上点击鼠标右键,选择"设置单元格格式". 在打开的窗口中,在"数字"选项卡的"分类"中,选择&qu ...

  3. 【开发随机】JAVA+POI+自定义注解+反射构建自定义工具类实现快捷简便的Excel模板化导出(附demo代码)

    220907更新 项目UAT期间,用户反映了一个问题,数据量稍大的情况下,会出现"从某一行开始,往下所有行设置的字体和字体大小不生效"的BUG. 经过排查,发现原因是:POI的XS ...

  4. excel上下标录入技巧

    第一,通过设置单元格格式设置excel上下标\      专业免费答疑各种Excel问题,群文件有视频教程,对Excel感兴趣的朋友可加Excel学习交流群:284029260 双击选中excel工作 ...

  5. 【实时更新】LaTeX公式编辑(希腊字母/分数/上下标/加粗/关系符/点乘/无穷大)

    一.基本用法 1.行内公式加:$ $ 2.行间公式加:$$ $$ 二.常用代码 1.常用小写希腊字母: 希腊字母 代码 α \alpha α \alpha β \beta β \beta χ \chi ...

  6. MATLAB:显示希腊字母、上下标

    1.希腊字母与对应代码 希腊字母等特殊字符用 \加上对应的英语单词 希腊字母  代码 α \alpha β \beta ζ  \zeta ε  \epsilong  η  \elta Ω \Ommig ...

  7. 关于EXCEL表格导入\导出数据…

    good! 原文地址:关于EXCEL表格导入导出数据库的代码 作者:海豚湾孬蛋 导入/导出Excel       --从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:     ...

  8. 关于npoi导出的excel中设置上下标

    //NPOI 库在生成excel是速度比较快的,可添加图片,设置连框,合并单元格等.微软的com生成excel方式可以扔掉了,那东西太慢. HSSFFont subscript = (HSSFFont ...

  9. 上下标 java_java包POI处理excel上下标的代码分享

    原理是逐字检查发现,即使用sup,sub的网页标签替换. 含有2003版本和2007版本 package com.uet.common.utils; import org.apache.commons ...

最新文章

  1. java飞机大战爆炸效果_Java飞机大战游戏设计与实现
  2. 2011年中国程序员薪水调查报告
  3. EOS净流入超3亿,比特币继续震荡盘整
  4. 斐波那契博弈(证明+结论)
  5. flutter图片点击跳转_使用Flutter之后,我们的CPU占用率降了50%
  6. java 多态性 接口_Java中的多态性和接口
  7. 【渝粤题库】陕西师范大学200681C语言程序设计 作业(高起专、高起本)
  8. Ubuntu12.04 内核树建立
  9. mysql列调换位置_mysql互换表中两列数据方法
  10. 企业级程序 苏林加密系统内测发布 支持多种加密
  11. 微博热榜排行榜zset
  12. 【学堂在线数据挖掘:理论方法笔记】第三天(3.27)
  13. simscape做一个简单倒立摆
  14. jQuery Ajax 教程
  15. 2017 技术大检阅
  16. A002-186-2619-林斌锐
  17. 笔记本(无线网卡)配置虚拟机上网
  18. 用参数方程绘制椭球体
  19. 收费外贸企业邮箱的好处?外贸企业该如何选择更好的邮箱服务呢?
  20. java中级程序员面试

热门文章

  1. ECharts自定义toolbox中增加自定义按钮
  2. JAVA学习记录-two-1.创建猜数游戏
  3. 2023年第一批上海市服务业发展引导资金项目静安区申报工作的通知
  4. proteus使用NE555简易电子琴仿真
  5. 【回溯法】简单装载问题与复杂装载问题
  6. 开源博客Solo安装详细教程及注意事项
  7. 在RStudio中更新R版本
  8. Codeforces Round #376 (Div. 2) D. 80-th Level Archeology
  9. 清楚了,为什么投简历没面试
  10. 严防死守把蠕虫病毒拒绝在系统之外