用POI支持对Excel插入poi读取excel文件内容吗

在POI的第一节入门中,我们提供了两个简单的例子,一个是如何用Apache POI新建一个工作薄,另外一个例子是,如果用Apache POI新建一个工作表。那么在这个章节里面,我将会给大家演示一下,如何用Apache POI在已有的Excel文件中插入一行新的数据。具体代码,请看下面的例子。
import&java.io.F&&
import&java.io.FileInputS&&
import&java.io.FileNotFoundE&&
import&java.io.FileOutputS&&
import&java.io.IOE&&
import&org.apache.poi.xssf.usermodel.XSSFC&&
import&org.apache.poi.xssf.usermodel.XSSFR&&
import&org.apache.poi.xssf.usermodel.XSSFS&&
import&org.apache.poi.xssf.usermodel.XSSFW&&
public&class&CreatRowTest&{&&
&&&&private&String&excelPath&=&"D:\\exceltest\\comments.xlsx";&&
&&&&private&int&insertStartPointer&=&3;&&
&&&&private&String&sheetName&=&"Sheet1";&&
&&&&public&static&void&main(String[]&args)&{&&
&&&&&&&&CreatRowTest&crt&=&new&CreatRowTest();&&
&&&&&&&&crt.insertRows();&&
&&&&public&void&insertRows()&{&&
&&&&&&&&XSSFWorkbook&wb&=&returnWorkBookGivenFileHandle();&&
&&&&&&&&XSSFSheet&sheet1&=&wb.getSheet(sheetName);&&
&&&&&&&&XSSFRow&row&=&createRow(sheet1,&insertStartPointer);&&
&&&&&&&&createCell(row);&&
&&&&&&&&saveExcel(wb);&&
&&&&private&void&saveExcel(XSSFWorkbook&wb)&{&&
&&&&&&&&FileOutputStream&fileO&&
&&&&&&&&try&{&&
&&&&&&&&&&&&fileOut&=&new&FileOutputStream(excelPath);&&
&&&&&&&&&&&&wb.write(fileOut);&&
&&&&&&&&&&&&fileOut.close();&&
&&&&&&&&}&catch&(FileNotFoundException&e)&{&&
&&&&&&&&&&&&e.printStackTrace();&&
&&&&&&&&}&catch&(IOException&e)&{&&
&&&&&&&&&&&&e.printStackTrace();&&
&&&&&&&&}&&
&&&&private&XSSFCell&createCell(XSSFRow&row)&{&&
&&&&&&&&XSSFCell&cell&=&row.createCell((short)&0);&&
&&&&&&&&cell.setCellValue(999999);&&
&&&&&&&&row.createCell(1).setCellValue(1.2);&&
&&&&&&&&row.createCell(2).setCellValue("This&is&a&string&cell");&&
&&&&&&&&return&&&
&&&&private&XSSFWorkbook&returnWorkBookGivenFileHandle()&{&&
&&&&&&&&XSSFWorkbook&wb&=&&&
&&&&&&&&FileInputStream&fis&=&&&
&&&&&&&&File&f&=&new&File(excelPath);&&
&&&&&&&&try&{&&
&&&&&&&&&&&&if&(f&!=&null)&{&&
&&&&&&&&&&&&&&&&fis&=&new&FileInputStream(f);&&
&&&&&&&&&&&&&&&&wb&=&new&XSSFWorkbook(fis);&&
&&&&&&&&&&&&}&&
&&&&&&&&}&catch&(Exception&e)&{&&
&&&&&&&&&&&&return&&&
&&&&&&&&}&finally&{&&
&&&&&&&&&&&&if&(fis&!=&null)&{&&
&&&&&&&&&&&&&&&&try&{&&
&&&&&&&&&&&&&&&&&&&&fis.close();&&
&&&&&&&&&&&&&&&&}&catch&(IOException&e)&{&&
&&&&&&&&&&&&&&&&&&&&e.printStackTrace();&&
&&&&&&&&&&&&&&&&}&&
&&&&&&&&&&&&}&&
&&&&&&&&}&&
&&&&&&&&return&&&
&&&&private&XSSFRow&createRow(XSSFSheet&sheet,&Integer&rowIndex)&{&&
&&&&&&&&XSSFRow&row&=&&&
&&&&&&&&if&(sheet.getRow(rowIndex)&!=&null)&{&&
&&&&&&&&&&&&int&lastRowNo&=&sheet.getLastRowNum();&&
&&&&&&&&&&&&sheet.shiftRows(rowIndex,&lastRowNo,&1);&&
&&&&&&&&}&&
&&&&&&&&row&=&sheet.createRow(rowIndex);&&
&&&&&&&&return&&&
阅读(...) 评论()关于POI,对EXCEL插入多列,求大家帮忙
对EXCEL插入多列,网上没找到相关资料,自己试着写了一个方法,但最终失败了,没达到想要的效果,请高手帮帮忙。脑袋有点混乱
* @param sheet 工作表
* @param startColumn 开始列
* @param endColumn 结束列
* @param insertNum 插入几列
public void shiftColumn(XSSFSheet sheet,int startColumn,int endColumn,int insertNum){
int firstRow = sheet.getFirstRowNum();
int lastRow = sheet.getLastRowNum();
XSSFCell cellNew =
XSSFCell cellPer =
XSSFRow rowCurr =
for(int i = 0; i & insertN i ++){
for(int j = firstR j & lastR j ++){
rowCurr = sheet.getRow(j);
cellNew = rowCurr.createCell(endColumn + i);
for(int k = endColumn+ k & startCk--){
cellPer = rowCurr.getCell(k-1);
if(cellPer == null){
cellNew.setCellStyle(cellPer.getCellStyle());
cellNew.setCellValue(cellPer.getStringCellValue()) ;&>&&>&&>&&>&POI处理EXCEL文件所需的最少jar包(支持)
POI处理EXCEL文件所需的最少jar包(支持)
上传大小:10.33MB
POI处理EXCEL文件所需的最少jar包(支持)
综合评分:4(2位用户评分)
所需积分:0
下载次数:167
审核通过送C币
创建者:zhangguo5
创建者:jerryshen
课程推荐相关知识库
上传者其他资源上传者专辑
开发技术热门标签
VIP会员动态
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
POI处理EXCEL文件所需的最少jar包(支持)
会员到期时间:
剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:}

我要回帖

更多关于 java读取excel文件poi 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信