JAVA实现Excel的读写--poi
2015-04-13 18:43
435 查看
上一篇为大家介绍了通过xls.jar的方式生成Excel的方法,本篇就为大家再介绍一下通过poi方式实现Excel文件的读写操作,内容很简单,代码注释很清晰。
1、生成Excel文件:
2、读取Excel文件:
好了,基本的方法已经为大家介绍完毕,更好的效果展示就靠大家自己摸索了。
不知道大家发现一个问题没?我们生成的Excl文件都是.xls结尾,.xls是office97-2003的版本,而对于2007以后的版本则是以.xlsx结尾。那如何生成高版本的Excel呢?我们不能仅仅是修改一下File文件的后缀名,我们这里需要使用XSSFWorkbook进行创建workbook,然后把剩余的HSSF开头去掉就可以了。不过在这里需要说明的就是,我们不知道用户使用的是低版本还是高版本,所以我们建议大家都使用HSSFWorkbook来进行创建以.xls结尾的Excel文件。
如有错误,还望指正。谢谢
1、生成Excel文件:
import java.io.File; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class poi_write { public static void main(String[] args) { final String [] str = {"id", "name", "sex"}; //创建Excel工作薄 HSSFWorkbook workbook = new HSSFWorkbook(); //创建Excel工作表 HSSFSheet sheet = workbook.createSheet(); //创建第一行 HSSFRow row = sheet.createRow(0); HSSFCell cell = null; //添加表头 for (int i = 0; i < str.length; i++) { cell = row.createCell(i); cell.setCellValue(str[i]); } //追加数据 for (int i = 1; i <= 10; i++) { HSSFRow rows = sheet.createRow(i); HSSFCell cell_id = rows.createCell(0); cell_id.setCellValue(i+""); HSSFCell cell_name = rows.createCell(1); cell_name.setCellValue("name:"+i); HSSFCell cell_sex = rows.createCell(2); cell_sex.setCellValue("男"); } //文件保存路径 File file = new File("E:/cnblogs/poi_text.xls"); try{ if(!file.exists()){ file.createNewFile(); } FileOutputStream fileOut = new FileOutputStream(file);//创建一个文件输出流对象 workbook.write(fileOut); fileOut.close();//关闭输出流对象 }catch (Exception e) { e.printStackTrace(); } System.out.println("Excel文件已生成"); } }
2、读取Excel文件:
import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class poi_reading { public static void main(String[] args) { final File file = new File("E:/cnblogs/poi_text.xls"); if(file.exists()){ try { HSSFWorkbook workbook = new HSSFWorkbook(FileUtils.openInputStream(file)); //workbook.getSheet("Sheet0");获得指定的工作表 //HSSFSheet sheet = workbook.getSheet("Sheet0"); //workbook.getSheetAt(0);默认获得第一个工作表 HSSFSheet sheet = workbook.getSheetAt(0); int firstRowNum = 0; //获得当前sheet最后一行行号 int lastRowNum = sheet.getLastRowNum(); for (int i = firstRowNum; i <= lastRowNum; i++) { HSSFRow row = sheet.getRow(i); //获得当前行最后单元格列号 int lastCellNum = row.getLastCellNum(); for (int j = 0; j < lastCellNum; j++) { HSSFCell cell = row.getCell(j); String value = cell.getStringCellValue(); System.out.print(value+" "); } System.out.println(""); } } catch (IOException e) { e.printStackTrace(); } }else{ System.out.println("读取文件不存在"); } } }
好了,基本的方法已经为大家介绍完毕,更好的效果展示就靠大家自己摸索了。
不知道大家发现一个问题没?我们生成的Excl文件都是.xls结尾,.xls是office97-2003的版本,而对于2007以后的版本则是以.xlsx结尾。那如何生成高版本的Excel呢?我们不能仅仅是修改一下File文件的后缀名,我们这里需要使用XSSFWorkbook进行创建workbook,然后把剩余的HSSF开头去掉就可以了。不过在这里需要说明的就是,我们不知道用户使用的是低版本还是高版本,所以我们建议大家都使用HSSFWorkbook来进行创建以.xls结尾的Excel文件。
如有错误,还望指正。谢谢
相关文章推荐
- JAVA实现Excel的读写--poi
- 使用Poi实现Java读写Excel (一)
- POI:实现读写Excel完整示例
- [转]java实现excel的导入导出(poi详解)
- java之poi操作excel-基本的excel读写操作
- 基于POI的Excel导入导出(JAVA实现)
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框
- java实现excel的导入导出(poi)
- java poi 对excel的读写
- java利用poi包读写excel
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框 【不定期更新】
- 基于JXL和POI实现的读写Excel工具类(支持.xls和.xlsx格式)
- Java代码用POI读写Excel并修改excel格式
- java读写EXCEL之poi
- Java实现通过poi把数据查出来放在模板Excel中并作为附件发送邮件
- java中使用poi实现导入Excel
- Java 操作 Excel (读取Excel2007,Poi实现)
- Java:Excel转PDF实现方案;基于POI与Itext进行搭配.
- 详解JAVA POI导出EXCEL报表的操作(包括各种格式及样式的实现)
- java使用POI进行Excel读写