《java操作excel代码.pdf》由会员分享,可在线阅读,更多相关《java操作excel代码.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、package .kai;import java.io.*;import java.io.IOException;import java.util.Random;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.user
2、model.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.util.CellRangeAddress;/QQ 号码 289765342publicclass OpenHssf /*新建一个 Excel文件,里面添加8行5 列的内容,存储学生成绩。再进行单元格合并。*param fileName*/publicvoid writeExcel(String fileName)String names=张三 ,李四 ,王五 ,赵六 ,田七 ;/目标文件File file=new
3、 File(fileName);FileOutputStream fOut=null;try /创建新的 Excel 工作簿HSSFWorkbook workbook=new HSSFWorkbook();/在Excel工作簿中建一工作表,其名为缺省值。/也可以指定工作表的名字。HSSFSheet sheet=workbook.createSheet(student);/创建字体,红色、粗体HSSFFont font=workbook.createFont();font.setColor(HSSFFont.COLOR_RED);font.setBoldweight(HSSFFont.BOLDW
4、EIGHT_BOLD);/创建单元格的格式HSSFCellStyle cellStyle=workbook.createCellStyle();/水平方向上居中对齐cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);/垂直方向上居中对齐cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);/设置字体cellStyle.setFont(font);/下面将建立一个8行5 列的表。第一行为表头。int rowNum=0;/行标int colNum=0;/列标/建立表头信息/在索引
5、 0的位置创建行(最顶端的行)HSSFRow row=sheet.createRow(rowNum);/单元格HSSFCell cell=null;/合并单元格/先创建 2行5列的单元格,然后将这些单元格合并为1 个大单元格rowNum=0;for(;rowNum 2;rowNum+)row=sheet.createRow(rowNum);for(colNum=0;colNum 5;colNum+)/在当前行的 colNum位置创建单元格cell=row.createCell(colNum);/建立一个大单元格,高度为2,宽度为 5rowNum=0;colNum=0;CellRangeAddr
6、ess cellR=newCellRangeAddress(rowNum,(rowNum+1),colNum,(colNum+4);sheet.addMergedRegion(cellR);/获得第一个大单元格cell=sheet.getRow(rowNum).getCell(colNum);cell.setCellStyle(cellStyle);cell.setCellValue(学生成绩表 );rowNum=rowNum+2;/在索引 2的位置创建行row=sheet.createRow(rowNum);for(colNum=0;colNum 5;colNum+)/在当前行的 colNu
7、m列上创建单元格cell=row.createCell(colNum);/定义单元格为字符类型,也可以指定为日期类型、数字类型cell.setCellType(HSSFCell.CELL_TYPE_STRING);/为单元格设置格式cell.setCellStyle(cellStyle);/添加内容至单元格cell.setCellValue(namescolNum);rowNum+;for(;rowNum 8;rowNum+)/新建第 rowNum 行row=sheet.createRow(rowNum);for(colNum=0;colNum 5;colNum+)/在当前行的 colNum位
8、置创建单元格cell=row.createCell(colNum);/生成随机数,模拟学生成绩Random r=new Random();int num=r.nextInt(100);/添加内容至单元格cell.setCellValue(num);/工作薄建立完成,下面将工作薄存入文件/新建一输出文件流fOut=new FileOutputStream(file);/把相应的 Excel 工作簿存盘workbook.write(fOut);fOut.flush();/操作结束,关闭文件fOut.close();System.out.println(Excel文件生成成功!Excel文件名:+f
9、ile.getAbsolutePath();catch(Exception e)System.out.println(Excel文件 +file.getAbsolutePath()+生成失败:+e);e.printStackTrace();finally if(fOut!=null)try fOut.close();catch(IOException e1)/读取 Excel文件的内容。第一步,创建一个InputStream;第二步,创建一个HSSFWorkbook实例;publicvoid readExcel(String fileName)File file=new File(fileNa
10、me);FileInputStream in=null;/try开始try /创建对 Excel工作簿文件的引用in=new FileInputStream(file);HSSFWorkbook workbook=new HSSFWorkbook(in);/创建对工作表的引用,使用按名引用HSSFSheet sheet=workbook.getSheet(student);/HSSFSheet sheet=workbook.getSheetAt(0);按索引引用System.out.println(下面是 Excel文件 +file.getAbsolutePath()+的内容 );HSSFRo
11、w row=null;HSSFCell cell=null;int rowNum=0;int colNum=0;for(;rowNum8;rowNum+)/获取第 rowNum 行row=sheet.getRow(rowNum);for(colNum=0;colNum5;colNum+)/获取当前行的colNum 位置的单元格cell=row.getCell(colNum);switch(cell.getCellType()case HSSFCell.CELL_TYPE_NUMERIC:System.out.print(int)cell.getNumericCellValue()+t);bre
12、ak;case HSSFCell.CELL_TYPE_STRING:System.out.print(cell.getStringCellValue()+t);break;case HSSFCell.CELL_TYPE_FORMULA:System.out.print(int)cell.getNumericCellValue()+t);break;default:break;if(cell.getNumericCellValue()60)System.out.println();in.close();catch(FileNotFoundException e)/TODO Auto-genera
13、ted catch blocke.printStackTrace();catch(IOException e)/TODO Auto-generated catch blocke.printStackTrace();finally if(in!=null)try in.close();catch(IOException e)/TODO Auto-generated catch blocke.printStackTrace();publicstaticvoid main(String args)throws Exception OpenHssf excel2=new OpenHssf();String fileName=c:/2.xls;excel2.writeExcel(fileName);excel2.readExcel(fileName);