excel-xssfx文件下载导出上下标代码
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文件下载导出上下标代码相关推荐
- 怎么批量取消Excel文件中的上下标
今天跟大家分享一下怎么批量取消Excel文件中的上下标 1.打开Excel文件 2.选中要处理的单元格区域 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细解说.) ...
- html同时上下标签,excel如何同时设置上下标
怎样在excel中同时输入上下标 在单元格上点击鼠标右键,选择"设置单元格格式". 在打开的窗口中,在"数字"选项卡的"分类"中,选择&qu ...
- 【开发随机】JAVA+POI+自定义注解+反射构建自定义工具类实现快捷简便的Excel模板化导出(附demo代码)
220907更新 项目UAT期间,用户反映了一个问题,数据量稍大的情况下,会出现"从某一行开始,往下所有行设置的字体和字体大小不生效"的BUG. 经过排查,发现原因是:POI的XS ...
- excel上下标录入技巧
第一,通过设置单元格格式设置excel上下标\ 专业免费答疑各种Excel问题,群文件有视频教程,对Excel感兴趣的朋友可加Excel学习交流群:284029260 双击选中excel工作 ...
- 【实时更新】LaTeX公式编辑(希腊字母/分数/上下标/加粗/关系符/点乘/无穷大)
一.基本用法 1.行内公式加:$ $ 2.行间公式加:$$ $$ 二.常用代码 1.常用小写希腊字母: 希腊字母 代码 α \alpha α \alpha β \beta β \beta χ \chi ...
- MATLAB:显示希腊字母、上下标
1.希腊字母与对应代码 希腊字母等特殊字符用 \加上对应的英语单词 希腊字母 代码 α \alpha β \beta ζ \zeta ε \epsilong η \elta Ω \Ommig ...
- 关于EXCEL表格导入\导出数据…
good! 原文地址:关于EXCEL表格导入导出数据库的代码 作者:海豚湾孬蛋 导入/导出Excel --从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: ...
- 关于npoi导出的excel中设置上下标
//NPOI 库在生成excel是速度比较快的,可添加图片,设置连框,合并单元格等.微软的com生成excel方式可以扔掉了,那东西太慢. HSSFFont subscript = (HSSFFont ...
- 上下标 java_java包POI处理excel上下标的代码分享
原理是逐字检查发现,即使用sup,sub的网页标签替换. 含有2003版本和2007版本 package com.uet.common.utils; import org.apache.commons ...
最新文章
- java飞机大战爆炸效果_Java飞机大战游戏设计与实现
- 2011年中国程序员薪水调查报告
- EOS净流入超3亿,比特币继续震荡盘整
- 斐波那契博弈(证明+结论)
- flutter图片点击跳转_使用Flutter之后,我们的CPU占用率降了50%
- java 多态性 接口_Java中的多态性和接口
- 【渝粤题库】陕西师范大学200681C语言程序设计 作业(高起专、高起本)
- Ubuntu12.04 内核树建立
- mysql列调换位置_mysql互换表中两列数据方法
- 企业级程序 苏林加密系统内测发布 支持多种加密
- 微博热榜排行榜zset
- 【学堂在线数据挖掘:理论方法笔记】第三天(3.27)
- simscape做一个简单倒立摆
- jQuery Ajax 教程
- 2017 技术大检阅
- A002-186-2619-林斌锐
- 笔记本(无线网卡)配置虚拟机上网
- 用参数方程绘制椭球体
- 收费外贸企业邮箱的好处?外贸企业该如何选择更好的邮箱服务呢?
- java中级程序员面试