POI操作EXCEL技巧(6)

2019-04-23 18:26

1. Region region = new

Region((short)rowFrom,(short)columnFrom,(short)rowTo,(short)columnTo); 2. sheet.addMergedRegion(region); 3. //得到所有区域

4. sheet.getNumMergedRegions() 7、常用方法

根据单元格不同属性返回字符串数值 代码

1. public String getCellStringValue(HSSFCell cell) { 2. String cellValue = \ 3. switch (cell.getCellType()) { 4. case HSSFCell.CELL_TYPE_STRING:

5. cellValue = cell.getStringCellValue();

6. if(cellValue.trim().equals(\ 7. cellValue=\ 8. break;

9. case HSSFCell.CELL_TYPE_NUMERIC:

10. cellValue = String.valueOf(cell.getNumericCellValue()); 11. break;

12. case HSSFCell.CELL_TYPE_FORMULA:

13. cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); 14. cellValue = String.valueOf(cell.getNumericCellValue()); 15. break;

16. case HSSFCell.CELL_TYPE_BLANK: 17. cellValue=\ 18. break;

19. case HSSFCell.CELL_TYPE_BOOLEAN: 20. break;

21. case HSSFCell.CELL_TYPE_ERROR: 22. break; 23. default: 24. break; 25. }

26. return cellValue; 27. }

8、常用单元格边框格式

虚线HSSFCellStyle.BORDER_DOTTED 实线HSSFCellStyle.BORDER_THIN 代码

1. public static HSSFCellStyle getCellStyle(short type) 2. {

3. HSSFWorkbook wb = new HSSFWorkbook(); 4. HSSFCellStyle style = wb.createCellStyle(); 5. style.setBorderBottom(type);//下边框 6. style.setBorderLeft(type);//左边框 7. style.setBorderRight(type);//右边框 8. style.setBorderTop(type);//上边框 9. return style; 10. }

9、设置字体和内容位置 代码

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(\设置单元格数据格式 10. cell.setCellFormula(string);//给单元格设公式

11. style.setRotation(short rotation);//单元格内容的旋转的角度 12. cell.setCellStyle(style);

10、插入图片 论坛里看到的 代码

1. //先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray 2. ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); 3. BufferedImage bufferImg = ImageIO.read(new File(\

4. ImageIO.write(bufferImg,\ 5. //读进一个excel模版

6. FileInputStream fos = new FileInputStream(filePathName+\ 7. fs = new POIFSFileSystem(fos); 8. //创建一个工作薄

9. HSSFWorkbook wb = new HSSFWorkbook(fs); 10. HSSFSheet sheet = wb.getSheetAt(0);

11. HSSFPatriarch patriarch = sheet.createDrawingPatriarch();

12. HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,1023,255,(short)

0,0,(short)10,10); 13. patriarch.createPicture(anchor ,

wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));

POI操作Excel一些中文问题的解决方法

发布时间:2006.03.08 22:04 来源:CSDN 作者:

1. 设置工作表名

(下文中提到的workbook为类org.apache.poi.hssf.usermodel.HSSFWorkbook的一个实例) 如果使用workbook.createSheet(sheetname)或者使用workbook.setSheetName(1, \中文\,默认会使用ENCODING_COMPRESSED_UNICODE,在生成的EXCEL文件中会出现工作表名乱码。 需要修改为

workbook.setSheetName(1, \中文\ public final static byte ENCODING_COMPRESSED_UNICODE = 0;

public final static byte ENCODING_UTF_16 = 1;

查看HSSFWorkbook.java文件,发现setSheetName默认使用的encoding是ENCODING_COMPRESSED_UNICODE,这里需要指定为ENCODING_UTF_16。 此处可以对比其他一些文档中说到的方法:workbook.setSheetName(1, \中文\。对于这个(short)1却没有文档进行详细的说明。其实就是HSSFWorkbook中的ENCODING_UTF_16。

继续跟踪下去可以发现,最后会使用类org.apache.poi.hssf.record.BoundSheetRecord中的方法。POI中的文档对此有说明:

public void setCompressedUnicodeFlag(byte flag)

set whether or not to interperate the Sheetname as compressed unicode (8/16 bit) (This is undocumented but can be found as Q187919 on the Microsoft(tm) Support site) Parameters:

flag - (0/1) 0- compressed, 1 - uncompressed (16-bit)

这个参数flag就是前面的encoding(HSSFWorkbook.setSheetName(int sheet, java.lang.String name, short encoding)中的第三个参数通过(byte)encoding进行转换得来的)。

2. 设置单元格

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

原始cell中不管是中文或者英文内容,用cell.getEncoding()得到的值都是0。如果要设置中文值,必须setEncoding(HSSFCell.ENCODING_UTF_16)。 在其他文档中可以看到cell.setEncoding((short)1),其实是一样的。

注意,默认会使用ENCODING_COMPRESSED_UNICODE,如果要设置的值是UTF-16编码,setEncoding必须在setCellValue之前调用。


POI操作EXCEL技巧(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:教练技术导师训练手册10

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: