本文分为两部分,poi导出excel和嵌入图片;
一、poi实现excel的导入:
1. 依赖包的导入
2. api操作步骤:
1)创建workbook工作薄;
2)创建一个工作表sheet;
3)创建一个行对象row(下标起始值为0);
4)创建一个单元格对象cell(下标起始值为0);
5)给单元格设置内容;
6)设置单元格样式,设置字体和字体大小;
7)保存,关闭流对象;
8)下载
----------------------------华丽的分割线----------------------
代码实现:
//创建工作簿
Workbook wb = new HSSFWorkbook();
//创建工作表 Sheet
Sheet sheet = wb.createSheet();
**这里直接将需要导入excel的内容封装到list或array中,通过循环填入sheet中**
//这是需要导入excel的标题数组
Object[] titles = {};
//这是需要导入excel的内容数组
Object[] texts= {};
//我这里用遍历的方式将数组内容填充到excel中
// 初始化行数
int rowNo = 0;
// 初始化列数
int cellNo = 0;
// 1.打印大标题
Row row = sheet.createRow(rowNo++);
Cell cell = row.createCell(0);
// 横向合并单元格
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 118));
cell.setCellValue("xxxx下载清单");
// 2.打印小标题
row = sheet.createRow(rowNo++);
for (String title : titles) {
cell = row.createCell(cellNo++);
cell.setCellValue(title+"");
}
//3.打印导入的内容
cellNo = 0;
row = sheet.createRow(rowNo++);
for (String text: texts) {
cell = row.createCell(cellNo++);
cell.setCellValue(text+"");
}
然后poi导入数据基本就完成了,接下来导入图片;
二、图片导入:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
//获取到poi的画图工具
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
//将嵌入的图片的位置固定好
HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,255,255, (short) 10,
4, (short) 11, 5);
//写入图片到excel
patriarch.createPicture(anchor, wb.addPicture(
byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
//如果需要直接下载
response.setHeader("Content-Disposition", "attachment;filename="+new String((自定义excel名称).getBytes("gbk"), "iso8859-1")+".xls");
wb.write(response.getOutputStream());
wb.close();
--------------------完------------------
//如果不需要下载就将下载换位保存到本地
//保存到本地或项目下
OutputStream os = new FileOutputStream("d:/ab.xls");
wb.write(os);
os.close();
第一次写简书,没啥经验,有啥不足之处请多指教(评论区)--!
这里对插入图片的参数的详细介绍:https://blog.csdn.net/LongtengGensSupreme/article/details/83144983