java导出excel表格设置行高,POI导出Excel设置单元格格式
使用Apache的POI相关API导出Excel设置单元格格式
栗子,一下各个代码之间的变量是通用的,要是在某个代码块中找不到某个变量,则可以向上找寻
准备工作
InputStream = template//文件输入流
XSSFWorkbook wb = new XSSFWorkbook(template);
Sheet sheet = wb.getSheetAt(0);
设置单元格格式
XSSFCellStyle cellStyle = wb.createCellStyle();//初始化单元格格式对象
cellStyle.setAlignment(CellStyle.ALIGN_GENERAL);//设置水平对齐方式,有多种对齐方式,如果你稍微了解一点英文也能知道:Alignment(水平)、ALIGN_LEFT(左对齐)
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);//设置垂直对齐方式,Vertical(垂直)
XSSFDataFormat dataFormat = wb.createDataFormat();//创建格式化对象
cellStyle.setDataFormat(dataFormat.getFormat("#,##0.00"));//设置数值类型格式为保留两位小数
cellStyle.setFillBackgroundColor(IndexedColors.PINK.getIndex());;//设置单元格背景色为骚粉
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);//改用指定模式填充单元格颜色(主要用于使你设置的颜色生效以及生效方式)
cellStyle.setWrapText(true);//开启自动换行
Row excelRow = sheet.createRow(0);//创建单元行,索引从0开始
excelRow.setHeightInPoints(30);//设置行高
sheet.setColumnWidth(i, 256 * 15);//设置某列的列宽,列号为“i”
Cell cell = excelRow.createCell(0);//创建单元格,索引从0开始
cell.setCellStyle(cellStyle);// 设置单元格格式
创建各种类型单元格
// 创建数字类型的单元格
Cell cell = row.createCell((short)0);
cell.setCellValue(1);
row.createCell(1).setCellValue(1.2);
//创建单元格并接设置值为简单字符串
row.createCell(2).setCellValue("This is a string cell");
//创建单元格并接设置值为富文本
RichTextString str = creationHelper.createRichTextString("Apache");
Font font = wb.createFont();
font.setItalic(true);
font.setUnderline(Font.U_SINGLE);
str.applyFont(font);
row.createCell(3).setCellValue(str);
//创建boolean类型的单元格
row.createCell(4).setCellValue(true);
//创建单元格,当前单元的值是通过公式得到的 formula
row.createCell(5).setCellFormula("SUM(A1:B1)");
//创建日期类型的单元格并接进行格式化
CellStyle style = wb.createCellStyle();
style.setDataFormat(creationHelper.createDataFormat().getFormat("m/d/yy h:mm"));
cell = row.createCell(6);
cell.setCellValue(new Date());
cell.setCellStyle(style);
//创建超链接类型的单元格
cell.setCellFormula("HYPERLINK(\"http://baidu.com\",\"baidu\")");
创建单元格注释
CreationHelper factory = wb.getCreationHelper();
Cell cell = sheet.createRow(1).createCell(1);//创建第二行第二列的单元格
Drawing drawing = sheet.createDrawingPatriarch(); //创建顶层DrawingPatriarch,用于添加图形或图表(通常会覆盖原有效果)
ClientAnchor anchor = factory.createClientAnchor(); //创建ClientAnchor,使用此对象将工程图对象放置在工作表中
Comment comment = drawing.createCellComment(anchor); //创建注释
RichTextString text = creationHelper.createRichTextString("flydoging's demo");
Font font = wb.createFont(); //创建字体用于设置注释字体格式
font.setFontName("Arial");
font.setFontHeightInPoints((short)14);
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
font.setColor(IndexedColors.RED.getIndex()); //设置红色字体
text.applyFont(font);
comment.setString(text);//设置注释体
comment.setAuthor("flydoging");//设置作者
cell.setCellComment(comment);
CreationHelper是个啥,官方文档
An object that handles instantiating concrete classes of the various instances one needs for HSSF and XSSF. Works around a limitation in Java where we cannot have static methods on interfaces or abstract classes. This allows you to get the appropriate class for a given interface, without you having to worry about if you’re dealing with HSSF or XSSF.
英文不太好,大概意思是说:你可以使用CreationHelper的创建各种用于HSSF、XSSF实例化的对象,通过它的API也可以发现:创建富文本、超链接等等。其实你通过上边wb创建的是HSSFCreationHelper, SXSSFCreationHelper, XSSFCreationHelper三个其中之一,具体是哪个取决于你使用的WorkBook。
获取文档的嵌入文件
public static void main(String[] args) throws Exception {
XSSFWorkbook workbook = new XSSFWorkbook(args[0]);
for (PackagePart pPart : workbook.getAllEmbedds()) {
String contentType = pPart.getContentType();
// Excel Workbook - either binary or OpenXML
if (contentType.equals("application/vnd.ms-excel")) {//offic 2003 excel
HSSFWorkbook embeddedWorkbook = new HSSFWorkbook(pPart.getInputStream());
}
// Excel Workbook - OpenXML file format
else if (contentType.equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")) {//offic 2007 excel
XSSFWorkbook embeddedWorkbook = new XSSFWorkbook(pPart.getInputStream());
}
// Word Document - binary (OLE2CDF) file format
else if (contentType.equals("application/msword")) {//offic 2003 word
HWPFDocument document = new HWPFDocument(pPart.getInputStream());
}
// Word Document - OpenXML file format
else if (contentType.equals("application/vnd.openxmlformats-officedocument.wordprocessingml.document")) {
XWPFDocument document = new XWPFDocument(pPart.getInputStream());
}
// PowerPoint Document - binary file format
else if (contentType.equals("application/vnd.ms-powerpoint")) {
HSLFSlideShow slideShow = new HSLFSlideShow(pPart.getInputStream());
}
// PowerPoint Document - OpenXML file format
else if (contentType.equals("application/vnd.openxmlformats-officedocument.presentationml.presentation")) {
OPCPackage docPackage = OPCPackage.open(pPart.getInputStream());
XSLFSlideShow slideShow = new XSLFSlideShow(docPackage);
}
// Any other type of embedded object.
else {
System.out.println("Unknown Embedded Document: " + contentType);
InputStream inputStream = pPart.getInputStream();
}
}
}
java导出excel表格设置行高,POI导出Excel设置单元格格式相关推荐
- java读取合并单元格_Java POI常用方法,读取单元格的值,设置单元格格式,合并单元格,获取已合并的单元格,导出至本地等...
一.设置单元格格式. 设置单元格边框.单元格背景颜色.单元格对齐方式.单元格字体,设置自动换行. /** Description: 设置单元格格式. * @author : ys. * @date : ...
- 支持将数据导出到Excel文档的时候设置单元格格式的.NET控件Spire.DataExport
Spire.DataExport for .NET是e-iceblue公司推出的一款数据导出类.NET控件.作为一款专业的数据导出控件,Spire.DataExport for .NET可以帮助开发人 ...
- 在EXCEL表格中经常会遇到有合并单元格时,汇总计算的公式无法直接下拉自动填充计算,掌握这个小技巧一键汇总
在EXCEL表格中经常会遇到有合并单元格时,汇总计算的公式无法直接下拉自动填充计算,掌握这个小技巧一键汇总 目录 在EXCEL表格中经常会遇到有合并单元格时,汇总计算的公式无法直接下拉自动填充计算,掌 ...
- java 中使用excl与设置单元格格式
1.pom依赖文件 <poi.version>3.14</poi.version><!-- https://mvnrepository.com/artifact/org. ...
- POI 设置单元格格式,单元格合并,自动列宽等
POI 设置单元格格式,单元格合并,自动列宽等 设置单元格样式 设置单元格背景 设置单元格合并 解决合并单元格遗留空白边框问题 设置单元格列宽自适应 设置单元格样式 第一种:日期格式 cell.set ...
- datagridview单元格合并居中_系统地学习Excel第17课,设置单元格格式
上一篇:系统地学习Excel第16课,使用Excel的「替换」功能 本篇内容结构如下: 本章的知识体系 Excel工作表的整体外观由各个单元格的样式构成,单元格的样式外观在Excel的可选设置中主要包 ...
- 复杂的POI导出Excel表格(多行表头、合并单元格)
poi导出excel有两种方式: 第一种:从无到有的创建整个excel,通过HSSFWorkbook,HSSFSheet HSSFCell, 等对象一步一步的创建出工作簿,sheet,和单元格,并添加 ...
- java poi设置单元格格式为数值_java中导出excel设置单元格的样式为数字格式怎么设置_Java代码实现设置单元格格式...
java中导出excel设置单元格的样式为数字格式怎么设置 如果是使用poi,它会自动根据参数值设置单元格为恰当格式,只需传入数字类型参数值即可,比如 double value=....; cell. ...
- html导出excel合并单元格,JS导出EXCEL,动态设置单元格格式,合并单元格(横向或纵向)等操作...
参考链接: https://blog.csdn.net/weixin_33724046/article/details/89611397 https://www.cnblogs.com/lvsk/p/ ...
最新文章
- 如何设置使windows(dos)命令中目录和文件可以自动完成和补齐
- C++指针地址内存,数据结构,文件操控
- GDB 远程调试Linux (CentOS)
- VS2012手动关联xaml与CS文件
- 阿里大文娱:不存在“优酷自制团队转入阿里影业”一说
- ncurses窗口机制:newwin(),wprintw(),delwin(),box(),wborder(),
- sql安装程序初始化_SQL Server安装程序–即时文件初始化(IFI)
- linux 如何选择新的内核,如何更新内核??__boot_内核_vmlinuz_linux_System__169IT.COM
- ArcView 9.3 安装帮助指南(针对Student Edition-One-Year版本)
- Xshell5远程连接Linux工具设置
- 微信小程序实现微信企业付款到零钱功能的流程
- vue音乐卡住_大神教你解决vue怎么添加音乐【突破措施】
- GS企业管理软件运用
- 牛散NO.2:MACD西施说风情,柳下惠高位勿迷情
- 应用计算机测定线性电阻伏安特性实验结论,电路分析实验报告(电阻元件伏安特性的测量)...
- rust被禁播还能玩吗_被强制下架的5部剧,后2部因“尺度太大”被禁播,如今已恢复上架...
- 微信 php 地图定位,微信公众号定位地图位置写入数据库,再显示地图的方法
- 工业大数据平台软件需求分析
- 关于应用~试玩,你想知道的都在这儿了----超详细总结(上篇)
- Github Actions Self-Hosted 本地运行Actions
热门文章
- php grid 分页,jqGrid分页pager配置
- 这道用椰子汁制作的甜品 让你重新找到在海边避暑的感觉
- java api是什么意思?
- bjui关闭当前页及弹窗层,刷新当前页及弹窗层
- 逆战ds服务器怎么修复,【群晖 DS418play 4盘位NAS网络存储服务器使用总结】更换|存储池|修复_摘要频道_什么值得买...
- 读书笔记:《了不起的盖茨比》
- 「热图」ComplexHeatmap展示单细胞聚类
- java面试 自身优缺点_面试总结之JAVA
- 查看windows 10激活状态
- Zotero 的下载与配置(综合版)