java 如何往已經(jīng)存在的excel表格里面追加數(shù)據(jù)的方法
第一步、導(dǎo)入jar包,兩個(gè)
poi.jar包 地址在 http://www.dhdzp.com/softs/542575.html
jxl.jar包 地址在 http://www.dhdzp.com/softs/544392.html
第二步、編寫程序
package cn.com.com;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class Excel {
/*
* author:命運(yùn)的信徒
* date:2019-07-31
* arm:通過java程序往excel里面續(xù)寫數(shù)據(jù)
*/
public static void main(String[] args) {
String url="C:/Users/Administrator/Desktop/img/1.xls";
FileInputStream fs;
try {
fs = new FileInputStream(url);
POIFSFileSystem ps=new POIFSFileSystem(fs); //使用POI提供的方法得到excel的信息
HSSFWorkbook wb=new HSSFWorkbook(ps);
HSSFSheet sheet=wb.getSheetAt(0); //獲取到工作表,因?yàn)橐粋€(gè)excel可能有多個(gè)工作表
HSSFRow row=sheet.getRow(0);
int hang=0;
if("".equals(row)||row==null){
hang=0;
}else{
hang=sheet.getLastRowNum();
hang=hang+1;
}
//分別得到最后一行的行號(hào),和一條記錄的最后一個(gè)單元格
FileOutputStream out=new FileOutputStream(url); //向d://test.xls中寫數(shù)據(jù)
row=sheet.createRow((short)(hang)); //在現(xiàn)有行號(hào)后追加數(shù)據(jù)
row.createCell(0).setCellValue("安徽"); //設(shè)置第一個(gè)(從0開始)單元格的數(shù)據(jù)
row.createCell(1).setCellValue("安慶"); //設(shè)置第二個(gè)(從0開始)單元格的數(shù)據(jù)
out.flush();
wb.write(out);
out.close();
System.out.println(row.getPhysicalNumberOfCells()+" "+row.getLastCellNum());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} //獲取d://test.xls
}
}
第三步、查看excel表格里面的內(nèi)容
水紅色是第一次添加的數(shù)據(jù)
深藍(lán)色是第二次添加的數(shù)據(jù)

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringMvc使用GoogleKaptcha生成驗(yàn)證碼
這篇文章主要為大家詳細(xì)介紹了SpringMvc項(xiàng)目中使用GoogleKaptcha 生成驗(yàn)證碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
SpringMVC實(shí)現(xiàn)文件上傳和下載功能
這篇文章主要為大家詳細(xì)介紹了SpringMVC實(shí)現(xiàn)文件上傳和下載功能 ,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
mybatis createcriteria和or的區(qū)別說明
這篇文章主要介紹了mybatis createcriteria和or的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot如何使用@RequestBody進(jìn)行數(shù)據(jù)校驗(yàn)
在Web開發(fā)中,前臺(tái)向后臺(tái)發(fā)送數(shù)據(jù)是非常常見的場(chǎng)景,而在SpringBoot框架中,我們通常使用@RequestBody注解來接收前臺(tái)發(fā)送的?JSON數(shù)據(jù),并將其轉(zhuǎn)化為Java對(duì)象,本文將介紹如何在?SpringBoot?中使用?@RequestBody?進(jìn)行數(shù)據(jù)校驗(yàn)2023-06-06
SpringBoot整合MongoDB的實(shí)現(xiàn)代碼
自己本科時(shí)候一直使用的是Mysql,目前的課題組使用的是MongoDB,因此就花了一部分時(shí)間整理了一下,實(shí)現(xiàn)springboot與MongoDB的整合,并且實(shí)現(xiàn)基本的增刪改查操作,從頭到尾給出一個(gè)完整的案例。2021-05-05
詳解Java?ThreadPoolExecutor的拒絕策略
這篇文章主要介紹了Java?ThreadPoolExecutor的拒絕策略,本文對(duì)于線程的池的幾種策略進(jìn)行詳細(xì)的講解,在實(shí)際的生產(chǎn)中需要集合相關(guān)的場(chǎng)景來選擇合適的拒絕策略,需要的朋友可以參考下2022-08-08
在實(shí)踐中了解Java反射機(jī)制應(yīng)用
當(dāng)程序運(yùn)行時(shí),允許改變程序結(jié)構(gòu)或變量類型,這種語言稱為動(dòng)態(tài)語言。我們認(rèn)為java并不是動(dòng)態(tài)語言,但是它卻有一個(gè)非常突出的動(dòng)態(tài)相關(guān)機(jī)制,俗稱:反射。下面我們來簡單學(xué)習(xí)一下吧2019-05-05
Java中的字節(jié)流InputStream和OutputStream詳解
這篇文章主要介紹了Java中的字節(jié)流InputStream和OutputStream詳解,繼承自InputStream的流都是用于向程序中輸入數(shù)據(jù),且數(shù)據(jù)的單位為字節(jié)8bit,我們看到的具體的某一些管道,凡是以InputStream結(jié)尾的管道,都是以字節(jié)的形式向我們的程序輸入數(shù)據(jù),需要的朋友可以參考下2023-10-10
Swagger2不被SpringSecurity框架攔截的配置及說明
這篇文章主要介紹了Swagger2不被SpringSecurity框架攔截的配置及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
深入理解Mybatis中的resultType和resultMap
這篇文章給大家介紹了mybatis中的resultType和resultMap的用法實(shí)例講解,MyBatis中在查詢進(jìn)行select映射的時(shí)候,返回類型可以用resultType,也可以用resultMap,至于兩種用法區(qū)別,通過本文一起學(xué)習(xí)吧2016-09-09

