POI导入导出

时间:2024-01-15 21:21:44

一、使用POI导出Execl表格

  需要的jar包POI导入导出

package cn.yxj.poi;
import java.io.FileOutputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
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.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.util.CellRangeAddress;
public class DemoPoi2 {
public static void main(String[] args) throws Exception {
//创建一个工作薄
HSSFWorkbook web=new HSSFWorkbook();
//添加样式背景颜色
HSSFCellStyle cellStyle=web.createCellStyle();
cellStyle.setFillForegroundColor(IndexedColors.PINK.getIndex());
cellStyle.setFillPattern(cellStyle.BORDER_THIN);
cellStyle.setAlignment(cellStyle.ALIGN_LEFT);
cellStyle.setVerticalAlignment(cellStyle.VERTICAL_CENTER); //设置字体颜色
HSSFFont font=web.createFont();
font.setColor(HSSFColor.RED.index);
cellStyle.setFont(font); //创建一个页面
HSSFSheet sheet=web.createSheet("第一个sheet页面");
//创建一行
HSSFRow row=sheet.createRow(0);
//创建第一个单元格
HSSFCell cell=row.createCell(0);
cell.setCellValue("我是第一个单元格");
//添加样式
cell.setCellStyle(cellStyle);
//创建第二个单元格
HSSFCell cell2=row.createCell(1);
cell2.setCellValue(new Date());
cell2.setCellStyle(cellStyle);
//合并单元格 单元格从0开始,1第几个单元格
sheet.addMergedRegion(new CellRangeAddress(0, 4, 1, 4));
//定义日期类型的格式 HSSFDataFormat format = web.createDataFormat();
short format2 = format.getFormat("yyyy-MM-dd");
cellStyle.setDataFormat(format2);
/* HSSFDataFormat format= web.createDataFormat();
cellStyle.setDataFormat(format.getFormat("yyyy年m月d日"));*/
FileOutputStream out=new FileOutputStream("poi出来的excel文件2.xls");//给的是相对路径(绝对路径是 D://)
web.write(out);
System.out.println("成功导出");
out.close(); } }

二、使用POI导入Excel文件

package cn.yxj.poi;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; import org.apache.poi.hssf.extractor.ExcelExtractor;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class DemopoiStreat1 {
public static void main(String[] args) throws IOException {
//创建一个文件输入流
FileInputStream fis=new FileInputStream("poi出来的excel文件2.xls");
//创建一个poi文件系统对象
POIFSFileSystem poi=new POIFSFileSystem(fis);
//创建一个工作薄将文件系统对象传入
HSSFWorkbook wb=new HSSFWorkbook(poi);
//创建一个ExcelExtractor对象将工作薄传入
ExcelExtractor excel=new ExcelExtractor(wb);
//通过ExcelExtractor对象输出文件内容
excel.setIncludeSheetNames(false);//不显示sheet标题
System.err.println(excel.getText()); }
}
package cn.yxj.poi;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; import org.apache.poi.hssf.extractor.ExcelExtractor;
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;
import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class DemopoiStreat2 {
public static void main(String[] args) throws IOException {
//创建一个文件输入流
FileInputStream fis=new FileInputStream("poi出来的excel文件2.xls");
//创建一个poi文件系统对象
POIFSFileSystem poi=new POIFSFileSystem(fis);
//创建一个工作薄将文件系统对象传入
HSSFWorkbook wb=new HSSFWorkbook(poi);
//获取sheet页
HSSFSheet sheet=wb.getSheetAt(0);
if(sheet==null)return;
//获取行
HSSFRow row=sheet.getRow(0);
if(row==null)return;
//获取单元格
HSSFCell cell=row.getCell(0);
if(cell==null)return; //输出单元格的值 System.out.println(cell.getStringCellValue()); }
}