開心一笑
狼崽從出生就吃素娶靡。狼爸狼媽絞盡腦汁訓練狼崽捕獵糟红。
終于有天狼爸狼媽欣慰地看到兒子狂追兔子员魏。狼崽抓住兔子兇相畢露惡狠狠地說:小子吼肥!把胡蘿卜交出來录平!
提出問題
工作中碰到的問題,單元格合并后邊框顯示不全
如圖:
上圖的代碼如下:
package com.hwy.test;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.util.CellRangeAddress;
import java.io.FileOutputStream;
/**
* Created by Ay on 2016/4/16.
*/
public class PoiCellRangeAddress {
public static void main(String[] args) {
//新建excel報表
HSSFWorkbook excel = new HSSFWorkbook();
//添加一個sheet缀皱,名字叫"我的POI之旅"
HSSFSheet hssfSheet = excel.createSheet("我的POI之旅");
//單元格范圍 參數(shù)(int firstRow, int lastRow, int firstCol, int lastCol)
CellRangeAddress cellRangeAddress =new CellRangeAddress(3, 3, 0, 20);
//在sheet里增加合并單元格
hssfSheet.addMergedRegion(cellRangeAddress);
//生成第一行
Row row = hssfSheet.createRow(3);
Cell first = row.createCell(0);
first.setCellValue("合并單元格");
HSSFCellStyle cellStyle = excel.createCellStyle();
cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
//下邊框
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
//左邊框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
//上邊框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
//右邊框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
//只設置第一個單元格的邊框
first.setCellStyle(cellStyle);
FileOutputStream fout = null;
try{
fout = new FileOutputStream("D:/students.xls");
excel.write(fout);
fout.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
解決問題
解決問題也是比較簡單斗这,就是逐個給單元格設置邊框就可以了
代碼如下:
package com.hwy.test;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.util.CellRangeAddress;
import java.io.FileOutputStream;
/**
* Created by Ay on 2016/4/16.
*/
public class PoiCellRangeAddress {
public static void main(String[] args) {
//新建excel報表
HSSFWorkbook excel = new HSSFWorkbook();
//添加一個sheet,名字叫"我的POI之旅"
HSSFSheet hssfSheet = excel.createSheet("我的POI之旅");
//單元格范圍 參數(shù)(int firstRow, int lastRow, int firstCol, int lastCol)
CellRangeAddress cellRangeAddress =new CellRangeAddress(3, 3, 0, 20);
//在sheet里增加合并單元格
hssfSheet.addMergedRegion(cellRangeAddress);
//生成第一行
Row row = hssfSheet.createRow(3);
Cell cell = null;
HSSFCellStyle cellStyle = null;
//為每個單元格設置邊框啤斗,問題就解決了
for(int i=0;i<=20;i++){
cell = row.createCell(i);
if(i == 0){
cell.setCellValue("合并單元格");
}
cellStyle = excel.createCellStyle();
cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
//下邊框
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
//左邊框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
//上邊框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
//右邊框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
cell.setCellStyle(cellStyle);
}
FileOutputStream fout = null;
try{
fout = new FileOutputStream("D:/students.xls");
excel.write(fout);
fout.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
生成效果圖如下:
讀書感悟
- 只有夢想要去看星星的表箭,才有可能登陸月球
- 不明白的事千萬不要去做,不懂不可怕钮莲,不懂裝懂才會最糟糕
- 負債免钻,大多數(shù)就是由于欲望超過能力而引起的