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. mysql数据去重语句_数据库 mysql 语句
  2. java 字符流与字节流区别_JAVA 字符流与字节流的区别
  3. java学习笔记-4.7
  4. 【设计模式】第三章 单例模式
  5. linux的awk命令如何用?
  6. go ssh 执行多个命令_Gox语言中通过SSH远程执行命令及上传下载文件-GX10
  7. oracle get_ddl XSL error 解决方法
  8. 科创人·黑湖科技CEO周宇翔:To B产品不应忽视产品体验,制造业的未来是需求定义生产
  9. 单场淘汰制场次计算方法_淘汰赛、单循环赛和双循环赛的计算方法分别是什么?...
  10. Surf算法特征点检测与匹配
  11. CDN是什么?CDN有哪些用处?
  12. 测试初中英语词汇量软件,背单词最好的软件排名【浅析初中英语单词拼写】
  13. 2022年西式面点师(初级)考试题库及模拟考试
  14. VS Code(8)- 终端模拟器
  15. v4l2框架-开启视频流(stream on)
  16. Mac 安装 IntelliJ IDEA 以及激活方法
  17. 数据结构栈的简单实现(JAVA)
  18. 一、简单的http抓包(微信公众网页登录模拟)
  19. 和王兴并肩战斗十余年,王慧文的精华思考都在这里了
  20. React: error An unexpected error occurred: “EPERM: operation not permitted, rename...

热门文章

  1. 【技术向】vbs实现远程控制和传输文件
  2. java的百钱百鸡,来自我国古代数学家张丘建在《算经》中一道题
  3. 签了工作之后才发现,自己太草率了.....我看过的关于职业规划最好最全面的一篇文章
  4. 计算机学科基础综合【目录】
  5. 【聯強EMBA】「本能叛逆」與「理性叛逆」
  6. 计算机画大熊猫教学设计,大班美术画大熊猫的教学设计
  7. mac vi快速删除_Mac OS X下应该如何卸载软件及mac终端命令大全(转)
  8. SAP 库存转储(五)—STO Stock transfer Order
  9. java 正则表达式只有中文汉字英文数字
  10. 如何把企业内部碎片信息系统化?