利用POI将数据导出到EXCEL模板
2014-10-20 18:10
471 查看
在开发中导出导入数据,我们是经常用到的,近期,公司开发中需要将指定数据导入到用户给定的EXCEL模板中,并根据要求合并单元格,在这里,我写了个简单的demo,可以概括我所用到的知识点,以供有需要的朋友借鉴。
相关DEMO下载:PoiTest
public class Test {
public static void main(String[] args) {
try{
FileInputStream fis = new FileInputStream("d:/model.xlsx");
XSSFWorkbook workBook=new XSSFWorkbook(fis);
String fileName="test_"+System.currentTimeMillis()+".xlsx";
OutputStream out=new FileOutputStream("d:/"+fileName);
XSSFCellStyle style = CellStyle.getStyle(workBook);
for(int j=0;j<2;j++){ //导出有多个sheet的workBook
XSSFSheet sheet=workBook.cloneSheet(0); //进行模板的克隆
workBook.setSheetName(j+1, "sheet"+j); //给sheet命名
int rowIndex=8;
XSSFRow row=sheet.createRow(rowIndex);
for(int i=1;i<23;i++){
XSSFCell cell=row.createCell(i);
cell.setCellValue(i);
//合并单元格,参数是起始行,结束行,起始列,结束列
sheet.addMergedRegion(new CellRangeAddress(rowIndex,rowIndex+1, i,i));
cell.setCellStyle(style); //给单元格添加样式
}
}
workBook. removeSheetAt(0); //移除workbook中的模板sheet
workBook.write(out);
fis.close();
out.flush();
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
public class CellStyle {
public static XSSFCellStyle getStyle(XSSFWorkbook workbook) {
//设置样式;
XSSFCellStyle style = workbook.createCellStyle();
//设置底边框;
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
//设置底边框颜色;
style.setBottomBorderColor(HSSFColor.BLACK.index);
//设置左边框;
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
//设置左边框颜色;
style.setLeftBorderColor(HSSFColor.BLACK.index);
//设置右边框;
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
//设置右边框颜色;
style.setRightBorderColor(HSSFColor.BLACK.index);
//设置顶边框;
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
//设置顶边框颜色;
style.setTopBorderColor(HSSFColor.BLACK.index);
//设置自动换行;
style.setWrapText(false);
//设置水平对齐的样式为居中对齐;
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//设置垂直对齐的样式为居中对齐;
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
return style;
}
}
相关DEMO下载:PoiTest
public class Test {
public static void main(String[] args) {
try{
FileInputStream fis = new FileInputStream("d:/model.xlsx");
XSSFWorkbook workBook=new XSSFWorkbook(fis);
String fileName="test_"+System.currentTimeMillis()+".xlsx";
OutputStream out=new FileOutputStream("d:/"+fileName);
XSSFCellStyle style = CellStyle.getStyle(workBook);
for(int j=0;j<2;j++){ //导出有多个sheet的workBook
XSSFSheet sheet=workBook.cloneSheet(0); //进行模板的克隆
workBook.setSheetName(j+1, "sheet"+j); //给sheet命名
int rowIndex=8;
XSSFRow row=sheet.createRow(rowIndex);
for(int i=1;i<23;i++){
XSSFCell cell=row.createCell(i);
cell.setCellValue(i);
//合并单元格,参数是起始行,结束行,起始列,结束列
sheet.addMergedRegion(new CellRangeAddress(rowIndex,rowIndex+1, i,i));
cell.setCellStyle(style); //给单元格添加样式
}
}
workBook. removeSheetAt(0); //移除workbook中的模板sheet
workBook.write(out);
fis.close();
out.flush();
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
public class CellStyle {
public static XSSFCellStyle getStyle(XSSFWorkbook workbook) {
//设置样式;
XSSFCellStyle style = workbook.createCellStyle();
//设置底边框;
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
//设置底边框颜色;
style.setBottomBorderColor(HSSFColor.BLACK.index);
//设置左边框;
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
//设置左边框颜色;
style.setLeftBorderColor(HSSFColor.BLACK.index);
//设置右边框;
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
//设置右边框颜色;
style.setRightBorderColor(HSSFColor.BLACK.index);
//设置顶边框;
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
//设置顶边框颜色;
style.setTopBorderColor(HSSFColor.BLACK.index);
//设置自动换行;
style.setWrapText(false);
//设置水平对齐的样式为居中对齐;
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//设置垂直对齐的样式为居中对齐;
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
return style;
}
}
相关文章推荐
- java操作Excel之POI(5)利用POI实现使用模板批量导出数据
- POI按照模板导出Excel数据
- java利用poi导出数据到excel
- 利用poi将数据库数据导出excel
- JavaWeb 利用POI实现前端数据到Excel导出
- 利用POI读取Excel模板实现自己所需的Excel导出格式
- java操作Excel之POI(4)利用POI实现数据的批量导出
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- java利用poi导出数据到excel里
- 利用poi进行数据的excel导出
- Excel基于POI利用反射返回Bean导入、Excel基于POI导出、Excel利用jxls导出、Excel模板导出
- Apache POI 第六讲之利用Excel模板实现数据的批量导出
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- JAVA利用POI导出Excel模板文件
- java利用poi导出数据到excel
- Java Web利用POI导出Excel的示例(不在数据库取数据,Map类型的数据)
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- 利用Aspose.Cells和Excel模板导出复杂的统计数据
- 使用poi通过excel模板导出excel数据
- JAVA使用poi进行EXCEL模板导入导出,XSSFCell数据类型