POI操作常用方法Word格式.docx
《POI操作常用方法Word格式.docx》由会员分享,可在线阅读,更多相关《POI操作常用方法Word格式.docx(14页珍藏版)》请在冰点文库上搜索。
=
new
HSSFWorkbook(fs);
4.//得到Excel工作表对象
5.HSSFSheet
sheet
wb.getSheetAt(0);
6.//得到Excel工作表的行
7.HSSFRow
row
sheet.getRow(i);
8.//得到Excel工作表指定行的单元格
9.HSSFCell
cell
row.getCell((short)
j);
10.cellStyle
cell.getCellStyle();
//得到单元格样式
11.POIFSFileSystem
12.//得到Excel工作簿对象
13.HSSFWorkbook
14.//得到Excel工作表对象
15.HSSFSheet
16.//得到Excel工作表的行
17.HSSFRow
18.//得到Excel工作表指定行的单元格
19.HSSFCell
20.cellStyle
2、建立Excel常用对象
1.HSSFWorkbook
HSSFWorkbook();
//创建Excel工作簿对象
2.HSSFSheet
wb.createSheet("
sheet"
);
//创建Excel工作表对象
3.HSSFRow
sheet.createRow((short)0);
//创建Excel工作表的行
4.cellStyle
wb.createCellStyle();
//创建单元格样式
5.row.createCell((short)0).setCellStyle(cellStyle);
//创建Excel工作表指定行的单元格
6.row.createCell((short)0).setCellValue
(1);
//设置Excel工作表的值
7.HSSFWorkbook
8.HSSFSheet
9.HSSFRow
11.row.createCell((short)0).setCellStyle(cellStyle);
12.row.createCell((short)0).setCellValue
(1);
3、设置sheet名称和单元格内容
1.wb.setSheetName(1,
"
第一张工作表"
HSSFCell.ENCODING_UTF_16);
2.cell.setEncoding((short)
1);
3.cell.setCellValue("
单元格内容"
4.wb.setSheetName(1,
5.cell.setEncoding((short)
6.cell.setCellValue("
4、取得sheet的数目
1.wb.getNumberOfSheets()
2.wb.getNumberOfSheets()
5、
根据index取得sheet对象
1.HSSFSheet
6、取得有效的行数
1.int
rowcount
sheet.getLastRowNum();
2.int
7、取得一行的有效单元格个数
1.row.getLastCellNum();
2.row.getLastCellNum();
8、单元格值类型读写
1.cell.setCellType(HSSFCell.CELL_TYPE_STRING);
//设置单元格为STRING类型
2.cell.getNumericCellValue();
//读取为数值类型的单元格内容
3.cell.setCellType(HSSFCell.CELL_TYPE_STRING);
4.cell.getNumericCellValue();
9、设置列宽、行高
1.sheet.setColumnWidth((short)column,(short)width);
2.row.setHeight((short)height);
3.sheet.setColumnWidth((short)column,(short)width);
4.row.setHeight((short)height);
10、添加区域,合并单元格
1.Region
region
Region((short)rowFrom,(short)columnFrom,(short)rowTo
2.,(short)columnTo);
//合并从第rowFrom行columnFrom列
3.sheet.addMergedRegion(region);
//
到rowTo行columnTo的区域
4.//得到所有区域
5.sheet.getNumMergedRegions()
6.Region
7.,(short)columnTo);
8.sheet.addMergedRegion(region);
9.//得到所有区域
10.sheet.getNumMergedRegions()
11、保存Excel文件
1.FileOutputStream
fileOut
FileOutputStream(path);
2.wb.write(fileOut);
3.FileOutputStream
4.wb.write(fileOut);
12、根据单元格不同属性返回字符串数值
1.public
String
getCellStringValue(HSSFCell
cell)
{
2.
cellValue
;
3.
switch
(cell.getCellType())
4.
case
HSSFCell.CELL_TYPE_STRING:
//字符串类型
5.
cell.getStringCellValue();
6.
if(cellValue.trim().equals("
)||cellValue.trim().length()<
=0)
7.
cellValue="
8.
break;
9.
HSSFCell.CELL_TYPE_NUMERIC:
//数值类型
10.
String.valueOf(cell.getNumericCellValue());
11.
12.
HSSFCell.CELL_TYPE_FORMULA:
//公式
13.
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
14.
15.
16.
HSSFCell.CELL_TYPE_BLANK:
17.
18.
19.
HSSFCell.CELL_TYPE_BOOLEAN:
20.
21.
HSSFCell.CELL_TYPE_ERROR:
22.
23.
default:
24.
25.
}
26.
return
cellValue;
27.
28.public
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
13、常用单元格边框格式
1.HSSFCellStyle
style
2.style.setBorderBottom(HSSFCellStyle.BORDER_DOTTED);
//下边框
3.style.setBorderLeft(HSSFCellStyle.BORDER_DOTTED);
//左边框
4.style.setBorderRight(HSSFCellStyle.BORDER_THIN);
//右边框
5.style.setBorderTop(HSSFCellStyle.BORDER_THIN);
//上边框
6.HSSFCellStyle
7.style.setBorderBottom(HSSFCellStyle.BORDER_DOTTED);
8.style.setBorderLeft(HSSFCellStyle.BORDER_DOTTED);
9.style.setBorderRight(HSSFCellStyle.BORDER_THIN);
10.style.setBorderTop(HSSFCellStyle.BORDER_THIN);
14、设置字体和内容位置
1.HSSFFont
f
wb.createFont();
2.f.setFontHeightInPoints((short)
11);
//字号
3.f.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
//加粗
4.style.setFont(f);
5.style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//左右居中
6.style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
//上下居中
7.style.setRotation(short
rotation);
//单元格内容的旋转的角度
8.HSSFDataFormat
df
wb.createDataFormat();
9.style1.setDataFormat(df.getFormat("
0.00%"
//设置单元格数据格式
10.cell.setCellFormula(string);
//给单元格设公式
11.style.setRotation(short
12.HSSFFont
13.f.setFontHeightInPoints((short)
14.f.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
15.style.setFont(f);
16.style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
17.style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
18.style.setRotation(short
19.HSSFDataFormat
20.style1.setDataFormat(df.getFormat("
21.cell.setCellFormula(string);
22.style.setRotation(short
15、插入图片
1.//先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
ByteArrayOutputStream
byteArrayOut
ByteArrayOutputStream();
BufferedImage
bufferImg
ImageIO.read(new
File("
ok.jpg"
ImageIO.write(bufferImg,"
jpg"
byteArrayOut);
5.//读进一个excel模版
6.FileInputStream
fos
FileInputStream(filePathName+"
/stencil.xlt"
7.fs
POIFSFileSystem(fos);
8.//创建一个工作薄
9.HSSFWorkbook
10.HSSFSheet
11.HSSFPatriarch
patriarch
sheet.createDrawingPatriarch();
12.HSSFClientAnchor
anchor
HSSFClientAnchor(0,0,1023,255,(short)
0,0,(short)10,10);
13.patriarch.createPicture(anchor
wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));
14.//先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
jpg