您的位置:首页 > 编程语言 > Java开发

JAVA基础应用——POI操作Excel

2015-09-10 12:16 603 查看

Excel操作

1.下载引用poi-3.5.jar

2.典型查询示例

try
{
HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(path));
int sheet_count=workbook.getNumberOfSheets();
for(int i=0;i<sheet_count;i++){
HSSFSheet sheet=workbook.getSheetAt(i);
int rowNum=sheet.getLastRowNum();

}
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}


3.典型写入示例

HSSFWorkbook wb = new HSSFWorkbook();// 建立新HSSFWorkbook对象
HSSFSheet sheet = wb.createSheet("new sheet");// 建立新的sheet对象
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short) 0);// 建立新行
// Create a cell and put a value in it.
HSSFCell cell = row.createCell((short) 0);// 建立新cell
cell.setCellValue(1);// 设置cell的整数类型的值
// Or do it on one line.
row.createCell((short) 1).setCellValue(1.2);// 设置cell浮点类型的值
row.createCell((short) 2).setCellValue("test");// 设置cell字符类型的值
row.createCell((short) 3).setCellValue(true);// 设置cell布尔类型的值
HSSFCellStyle cellStyle = wb.createCellStyle();// 建立新的cell样式
cellStyle.setDataFormat(HSSFDataFormat.getFormat("m/d/yy h:mm"));// 设置cell样式为定制的日期格式
HSSFCell dCell = row.createCell((short) 4);
dCell.setCellValue(new Date());// 设置cell为日期类型的值
dCell.setCellStyle(cellStyle); // 设置该cell日期的显示格式
HSSFCell csCell = row.createCell((short) 5);
csCell.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

row.createCell((short) 6).setCellType(HSSFCell.CELL_TYPE_ERROR);// 建立错误cell
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();


如果报这个错误:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space


在Debug Properties设置:

-Xms800m -Xmx800m



单元格样式判断

if(sheet.getRow(row).getCell((short)1).getCellType()==0) //numberic
part_number=(sheet.getRow(row).getCell((short)1).getNumericCellValue())+"";
else
part_number=sheet.getRow(row).getCell((short)1).getStringCellValue();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: