最终将 excel 文件下载到本地,需创建一个文件;
具体根据 File 的实例调用 .createNewFile(); 创建一个新的文件;
使用工具类中的FileUtils.openOutputStream(file);创建输出流对象
将工作簿 使用 .write(stream);的方式将数据输出
最终需要执行流的关闭操作
基于poi 里创建 excel 表单文件,
创建 HSSFWorkbook() 的实例,其实例便是一个工作薄;
再根据工作簿创建对应的工作表 sheet , 使用 .createSheet();
数据的添加使用 工作表 sheet 创建要存放数据的行, sheet .createRow(索引),返回值是 HSSFRow 代表行;
插入数据时需根据插入位置创建当前行的每一列单元格: 使用HSSFRow的实例 调用 .createCell(索引)创建单元格,并使用setCellValue()执行数据的插入
通过POI创建EXCEL
引入POI相关的jar包poi-xxx.jar
import org.apache.commons.io.FileUtils; 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 java.io.File; import java.io.FileOutputStream; import java.io.IOException; /** * @author xueli.li * @create 2018/12/13 20:00 * @Description: **/ public class PoiExpExcel {//POI生成Excel文件 public static void main(String[] args) { String[] title = {"id", "name", "sex"}; //创建Excel工作簿 HSSFWorkbook workbook = new HSSFWorkbook(); //创建一个工作表sheet HSSFSheet sheet = workbook.createSheet(); //创建第一行 HSSFRow row = sheet.createRow(0); HSSFCell cell = null; //插入第一行数据 id,name,sex for (int i = 0; i < title.length; i++) { cell = row.createCell(i); cell.setCellValue(title[i]); } //追加数据 for (int i = 1; i <= 10; i++) { HSSFRow nextrow = sheet.createRow(i); HSSFCell cell2 = nextrow.createCell(0); cell2.setCellValue("a" + i); cell2 = nextrow.createCell(1); cell2.setCellValue("user" + i); cell2 = nextrow.createCell(2); cell2.setCellValue("男"); } //创建一个文件 File file = new File("e:/poi_test.xls"); try { file.createNewFile(); //将Excel内容存盘//FileUtils类来自commons-io.jar包 FileOutputStream stream = FileUtils.openOutputStream(file); workbook.write(stream); stream.close(); } catch (IOException e) { e.printStackTrace(); } } }