Java 向已知Excle表累计追加数据
1、创建新表
public static void creatExcel(String filePath,String barCode, String qrCode,String state) throws Exception {
File file = new File(filePath);
// 当文件夹不存在时,创建文件
if (!file.exists()) {
file.createNewFile();
// 创建sheet表,数据
createSheet(barCode,qrCode, file,state);
}else {
//1、判断是否为空表,若是空表,则重新创建表,并写入数据
//2、获取表行数,来判断有没有实际数据
int rowNumber = getLastRowNumber(filePath);
// 1:表示头行标题,不是正式值
if (rowNumber >=1) {
//2、表数据已存在 向已知表中插入数据 ---------------
inserSheetData(filePath,barCode,qrCode,state);
}else {
// 空表,重新创建sheet表
createSheet(barCode,qrCode,file,state);
}
}
}
2、表已知,并且有数据 插入数据
import java.io.FileInputStream;
import java.io.FileOutputStream;
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 test{
public static void main(String[] args) throws Exception{
inserSheetData();
}
//向已知表中插入数据,累计追加
//写入前先判断表是否存在,表中是否有数据
private static void inserSheetData() throws Exception {
String filePath = "D:\\Printer\\" + "Printer"+ ".xls";
FileInputStream fs=new FileInputStream(filePath);
//使用POI提供的方法得到excel的信息
POIFSFileSystem fileSystem = new POIFSFileSystem(fs);
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(fileSystem);
//获取到工作表,因为一个excel可能有多个工作表
HSSFSheet InsertSheet=hssfWorkbook.getSheetAt(0);
//获取第一行(excel中的行默认从0开始,所以这就是为什么,一个excel必须有字段列头),即,字段列头,便于赋值
HSSFRow row=InsertSheet.g