Java代码导入导出 Excel 表格最简单的方法

时间:2022-07-20 18:41:14
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; 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 Excel { public static void main(String[] args) {
deriveTable();
importTable();
}
// 导出Excel表格的方法
public static void deriveTable(){
// 创建Excel文件对应的对象
HSSFWorkbook hwk = new HSSFWorkbook();
// 创建一个sheet表名
HSSFSheet hssfSheet = hwk.createSheet("工作账单");
// 通过sheet创建一盒row(行) 范围0-65535
HSSFRow hssfRow1 = hssfSheet.createRow(0);
HSSFRow hssfRow2 = hssfSheet.createRow(1);
HSSFRow hssfRow3= hssfSheet.createRow(2);
HSSFRow hssfRow4= hssfSheet.createRow(3);
HSSFRow hssfRow5 = hssfSheet.createRow(4);
//通过row创建一个cell 一个cell就是一个单元格 范围0-255
HSSFCell cell1 = hssfRow1.createCell(0);
HSSFCell cell2 = hssfRow1.createCell(1);
HSSFCell cell3 = hssfRow1.createCell(2);
HSSFCell cell4 = hssfRow2.createCell(1);
HSSFCell cell5 = hssfRow2.createCell(2);
HSSFCell cell6 = hssfRow3.createCell(0);
HSSFCell cell7 = hssfRow3.createCell(2);
HSSFCell cell8 = hssfRow3.createCell(3);
HSSFCell cell9 = hssfRow4.createCell(3);
HSSFCell cell10 = hssfRow4.createCell(4);
// 给单元格里写入类容
cell1.setCellValue("第1行第1列");
cell2.setCellValue("第1行第2列");
cell3.setCellValue("第1行第3列");
cell4.setCellValue("第2行第2列");
cell5.setCellValue("第2行第3列");
cell6.setCellValue("第3行第1列");
cell7.setCellValue("第3行第3列");
cell8.setCellValue("第3行第4列");
cell9.setCellValue("第4行第4列");
cell10.setCellValue("第4行第5列");
FileOutputStream fos=null;
try {
fos = new FileOutputStream("e:/Excel.xls");
hwk.write(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 导入Excel表格的方法
public static void importTable(){ FileInputStream fis = null;
try {
fis = new FileInputStream("e:/Excel.xls");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
HSSFWorkbook hwk = new HSSFWorkbook(fis);
HSSFSheet sheet = hwk.getSheetAt(0);
//遍历表格中所有的行 sheet.getLastCellNum 是获取最后一个不为空的行是第几个。
for (int i = 0; i<sheet.getLastRowNum(); i++) {
if(sheet.getRow(i)==null){
continue;
} //遍历表格中所有的单元格 sheet.getRow(i).getLastCellNum() 是获取最后一个不为空的列是第几个。 for (int j = 0; j<sheet.getRow(i).getLastCellNum() ; j++) {
if(sheet.getRow(i).getCell(j)==null){
continue;
}
System.out.println(sheet.getRow(i).getCell(j).getStringCellValue());
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}