java 导出Excle
程序员文章站
2022-03-07 22:31:07
...
POI
导包
poi-3.8-20120326.jar 下载地址
使用方法
基本使用
// 创建一个Excel文件
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
// 创建工作表
HSSFSheet hssfSheet = hssfWorkbook.createSheet(name);
//创建单元格格式对象
HSSFCellStyle cellStyle = hssfWorkbook.createCellStyle();
//创建单元格字体对象
HSSFFont font = hssfWorkbook.createFont();
//添加一行(数字为第几行)
HSSFRow hssfRowTop = hssfSheet.createRow(0);
//创建一列(i为第几列)
HSSFCell createCell = hssfRowTop.createCell(i);
//加入要填入的内容
HSSFRichTextString hssfRichTextString = new HSSFRichTextString("我是列内的内容");
//设置字体
hssfRichTextString.applyFont(font);
//将内容添加到单元格中
createCell.setCellValue(hssfRichTextString);
//设置单元格
createCell.setCellStyle(cellStyle);
//创建输出流
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
//将文件写入输出流中
//hssfWorkbook.write(arrayOutputStream);
字体设置
//创建单元格字体对象
HSSFFont font = hssfWorkbook.createFont();
font.setFontName("宋体");//设置头部字体为宋体
font.setStrikeout(true);//是否斜体
font.setBoldweight(Font.BOLDWEIGHT_BOLD); //粗体
font.setFontHeightInPoints((short)24);//字体大小
font.setColor(HSSFColor.BLUE.index);//设置字体颜色
font.setUnderline((byte)0);//添加下划线
单元格设置
//创建单元格格式对象
HSSFCellStyle cellStyle = hssfWorkbook.createCellStyle();
cellStyle.setBorderTop((short) 1);//设置边框
cellStyle.setTopBorderColor(HSSFColor.BLUE.index);//设置边框颜色
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
cellStyle.setFillForegroundColor((short) 13);// 设置背景色
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
单元格的宽高设置
设置行高
//添加第一行标题
HSSFRow hssfRowTop = hssfSheet.createRow(0);
//设置行高
hssfRowTop.setHeightInPoints(100 * 256);
设置行宽
//设置第几列的宽度(从0开始)
hssfSheet.setColumnWidth(1, 100 * 256);
合并单元格
//创建一个合并单元格(第几行开始,合并到第几行,从第几列开始,第几列结束)(都是从零开始)
CellRangeAddress cra=new CellRangeAddress(1, 3, 3, 9);
//合并单元格添加到sheet中
sheet.addMergedRegion(cra);
//获取那文件的第几行进行操作
Cell cell_1 = row.createCell(3);
栗子
public static void 合并单元格() throws IOException{
FileOutputStream fos=new FileOutputStream("D:\\13.xls");
Workbook wb=new HSSFWorkbook();
Sheet sheet=wb.createSheet();
/*
* 设定合并单元格区域范围
* firstRow 0-based
* lastRow 0-based
* firstCol 0-based
* lastCol 0-based
*/
CellRangeAddress cra=new CellRangeAddress(1, 4, 5, 9);
//在sheet里增加合并单元格
sheet.addMergedRegion(cra);
Row row = sheet.createRow(1);
Cell cell_1 = row.createCell(3);
cell_1.setCellValue("When you're right , no one remembers, when you're wrong ,no one forgets .");
//cell 位置3-9被合并成一个单元格,不管你怎样创建第4个cell还是第5个cell…然后在写数据。都是无法写入的。
Cell cell_2 = row.createCell(10);
cell_2.setCellValue("what's up ! ");
wb.write(fos);
fos.close();
}
jxl
上一篇: C++基础知识
推荐阅读
-
Java笔试题:给定一个ReadOnlyClass的对象roc,能否把这个对象的age值改成30?
-
深入理解Java虚拟机--Java类加载机制
-
Java基础教程(3)--回顾HelloWorld
-
C#如何将DataTable导出到Excel解决方案
-
Java图形用户界面设计(Swing)的介绍
-
php导出csv格式数据并将数字转换成文本的思路以及代码分享_PHP教程
-
java基础之编译器注解
-
Linux部署Java-Web,mvn package出现COMPILATION ERROR :Failed to execute goal org.apache.maven.plugins:mave
-
gRPC HelloWorld java版
-
《PHP核心技术与最佳实践》PHP使用PHPRPC协议调用JAVA类