Java使用Apache POI导出Excel
2021-04-02 00:28
标签:单元 方向 public region 行高 lazy get format alignment Java使用Apache POI导出Excel 标签:单元 方向 public region 行高 lazy get format alignment 原文地址:https://www.cnblogs.com/it-deepinmind/p/14604730.html1.POI简单介绍
Apache POI 是用Java 编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对 Microsoft Office 格式档案读和写的功能
2.步骤
1.环境配置:导入jar包
dependency>
groupId>org.apache.poigroupId>
artifactId>poiartifactId>
version>3.16version>
dependency>
2.创建一个Excel工作簿
@Test
public void test() throws IOException {
//定义一个工作蒲
Workbook wb = new HSSFWorkbook();
//定义一个输出流
FileOutputStream fileOutputStream = new FileOutputStream("/home/ubuntu/Desktop/Excel工作蒲.xls");
//写入在输出流
wb.write(fileOutputStream);
//关闭输出流
fileOutputStream.close();
}
3.创建一个sheet页
@Test
public void sheet() throws IOException {
//定义一个工作蒲
Workbook wb = new HSSFWorkbook();
//创建sheet页面
wb.createSheet("第一个sheet页");
wb.createSheet("第二个sheet页");
//定义一个输出流
FileOutputStream fileOutputStream = new FileOutputStream("/home/ubuntu/Desktop/Excel工作蒲带有sheet页.xls");
//写入在输出流
wb.write(fileOutputStream);
//关闭输出流
fileOutputStream.close();
}
4.创建行和列
@Test
public void row() throws IOException {
//定义一个工作蒲
Workbook wb = new HSSFWorkbook();
//创建sheet页面
Sheet sheet = wb.createSheet("学生信息sheet页");
//创建一行
Row row = sheet.createRow(0);
//创建一个单元格
Cell cell =null;
for(int i = 0 ;i){
row.createCell(i).setCellValue("写入信息:单元格内容"+i);
}
//定义一个输出流
FileOutputStream fileOutputStream = new FileOutputStream("/home/ubuntu/Desktop/Excel学生信息.xls");
//写入在输出流
wb.write(fileOutputStream);
//关闭输出流
fileOutputStream.close();
}
5.创建一个时间样式到Excel
@Test
public void date() throws IOException {
//定义一个工作蒲
Workbook wb = new HSSFWorkbook();
//创建sheet页面
Sheet sheet = wb.createSheet("时间sheet页");
//创建一行
Row row = sheet.createRow(0);
//创建一个单元格
Cell cell = row.createCell(0);
cell.setCellValue(new Date());
CreationHelper creationHelper = wb.getCreationHelper();
//设置单元格样式
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat("YYYY-MM-DD hh:mm:ss"));
cell = row.createCell(1);
cell.setCellValue(new Date());
//设置日期样式
cell.setCellStyle(cellStyle);
//定义一个输出流
FileOutputStream fileOutputStream = new FileOutputStream("/home/ubuntu/Desktop/Excel日期格式.xls");
//写入在输出流
wb.write(fileOutputStream);
//关闭输出流
fileOutputStream.close();
}
6.单元格对其方式及行高
@Test
public void style() throws IOException {
//定义一个工作蒲
Workbook wb = new HSSFWorkbook();
//创建sheet页面
Sheet sheet = wb.createSheet("第一个sheet");
//创建一行
Row row = sheet.createRow(0);
//设置行高
row.setHeightInPoints(30);
//创建一个单元格
createCell(wb,row,(short)0,HSSFCellStyle.ALIGN_CENTER,HSSFCellStyle.VERTICAL_BOTTOM);
createCell(wb,row,(short)1,HSSFCellStyle.ALIGN_JUSTIFY,HSSFCellStyle.VERTICAL_CENTER);
createCell(wb,row,(short)2,HSSFCellStyle.ALIGN_CENTER_SELECTION,HSSFCellStyle.VERTICAL_JUSTIFY);
//定义一个输出流
FileOutputStream fileOutputStream = new FileOutputStream("/home/ubuntu/Desktop/Excel样式.xls");
//写入在输出流
wb.write(fileOutputStream);
//关闭输出流
fileOutputStream.close();
}
/**
* 创建一个单元格设置对应的对其方式
* @param workbook 工作蒲
* @param row 行
* @param column 列
*/
private static void createCell(Workbook workbook, Row row, short column,short halign,short valign){
Cell cell = row.createCell(column);//创建单元格
cell.setCellValue(new HSSFRichTextString("我是富文本"));//设置值
CellStyle cellStyle = workbook.createCellStyle();//创建样式
cellStyle.setAlignment(halign);//设置单元格水平方向对其方式
cellStyle.setVerticalAlignment(valign);//设置单元格垂直方向对其方式
cell.setCellStyle(cellStyle);
}
合并单元格
@Test
public void test1() throws IOException {
//定义一个工作蒲
Workbook wb = new HSSFWorkbook();
//创建sheet页面
Sheet sheet = wb.createSheet("第一个sheet");
//创建一行
Row row = sheet.createRow(1);
//设置行高
row.setHeightInPoints(30);
//创建一个单元格
Cell cell = row.createCell(1);
cell.setCellValue("合并单元格");
//合并单元格(起始行,结束行,起始列,结束列)
sheet.addMergedRegion(new CellRangeAddress(1,2,1,2));
//定义一个输出流
FileOutputStream fileOutputStream = new FileOutputStream("/home/ubuntu/Desktop/Excel样式.xls");
//写入在输出流
wb.write(fileOutputStream);
//关闭输出流
fileOutputStream.close();
}
链接:https://www.jianshu.com/p/34514b188014
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
上一篇:盘点十大GIS相关算法
下一篇:java返回实体类
文章标题:Java使用Apache POI导出Excel
文章链接:http://soscw.com/index.php/essay/71152.html