package poi.service;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.springframework.stereotype.Service;
@Service
public class POIService {
public String dowmExcel() {
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();//创建一个文档类
HSSFSheet hssfSheet = hssfWorkbook.createSheet("测试表格1");//创建一个工作簿
// 设置excel每列宽度
hssfSheet.setColumnWidth(0, 4000);
hssfSheet.setColumnWidth(1, 3500);
// 创建字体样式
HSSFFont font = hssfWorkbook.createFont();
font.setFontName("Verdana");
font.setBoldweight((short) 100);
font.setFontHeight((short) 300);
font.setColor(HSSFColor.BLUE.index);
// 创建单元格样式
HSSFCellStyle style = hssfWorkbook.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
style.setFillForegroundColor(HSSFColor.LIGHT_TURQUOISE.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
// 设置边框
style.setBottomBorderColor(HSSFColor.RED.index);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
style.setFont(font);// 设置字体
//设置头部
HSSFRow headRow = hssfSheet.createRow(0);//设置第一行为表头
String[] head = {"语文","代数","几何","物理","化学","英语","生物","历史","地理","政治"};
for (int i = 0; i < head.length; i++) {
HSSFCell hssfCell = headRow.createCell(i);//创建一行里的一列
// 给Excel的单元格设置样式和赋值
hssfCell.setCellStyle(style);
hssfCell.setCellValue(head[i]);
}
for (int i = 1; i < 10; i++) {
HSSFRow bodyRow = hssfSheet.createRow(i);//创建一行
for (int k = 0; k < 10; k++) {
HSSFCell hssfCell = bodyRow.createCell(k);//创建一行里的一列
// 给Excel的单元格设置样式和赋值
hssfCell.setCellStyle(style);
hssfCell.setCellValue(new Random().nextInt(100));
}
}
FileOutputStream os = null;
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
String timeString = simpleDateFormat.format(new Date());
os = new FileOutputStream("E:\\file\\"+timeString+".xls");
hssfWorkbook.write(os);
return "excel down success";
} catch (IOException e) {
e.printStackTrace();
}finally{
if(os !=null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return "excel down fail";
}
}
java excel导出模板代码
最新推荐文章于 2024-08-08 11:49:17 发布