java poi技术操作excel之写Excel(向Excel中写入值)
2016-08-09 17:19
344 查看
写值到Excel:
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.List; import java.util.Map; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class WriteExcel { private static final String EXCEL_XLS = "xls"; private static final String EXCEL_XLSX = "xlsx"; public static void writeExcel(List<Map> dataList, int cloumnCount,String finalXlsxPath){ OutputStream out = null; try { // 获取总列数 int columnNumCount = cloumnCount; // 读取Excel文档 File finalXlsxFile = new File(finalXlsxPath); Workbook workBook = getWorkbok(finalXlsxFile); // sheet 对应一个工作页 Sheet sheet = workBook.getSheetAt(0); /** * 删除原有数据,除了属性列 */ int rowNumber = sheet.getLastRowNum(); // 第一行从0开始算 System.out.println("原始数据总行数,除属性列:" + rowNumber); for (int i = 1; i <= rowNumber; i++) { Row row = sheet.getRow(i); sheet.removeRow(row); } // 创建文件输出流,输出电子表格:这个必须有,否则你在sheet上做的任何操作都不会有效 out = new FileOutputStream(finalXlsxPath); workBook.write(out); /** * 往Excel中写新数据 */ for (int j = 0; j < dataList.size(); j++) { // 创建一行:从第二行开始,跳过属性列 Row row = sheet.createRow(j + 1); // 得到要插入的每一条记录 Map dataMap = dataList.get(j); String name = dataMap.get("BankName").toString(); String address = dataMap.get("Addr").toString(); String phone = dataMap.get("Phone").toString(); for (int k = 0; k <= columnNumCount; k++) { // 在一行内循环 Cell first = row.createCell(0); first.setCellValue(name); Cell second = row.createCell(1); second.setCellValue(address); Cell third = row.createCell(2); third.setCellValue(phone); } } // 创建文件输出流,准备输出电子表格:这个必须有,否则你在sheet上做的任何操作都不会有效 out = new FileOutputStream(finalXlsxPath); workBook.write(out); } catch (Exception e) { e.printStackTrace(); } finally{ try { if(out != null){ out.flush(); out.close(); } } catch (IOException e) { e.printStackTrace(); } } System.out.println("数据导出成功"); } /** * 判断Excel的版本,获取Workbook * @param in * @param filename * @return * @throws IOException */ public static Workbook getWorkbok(File file) throws IOException{ Workbook wb = null; FileInputStream in = new FileInputStream(file); if(file.getName().endsWith(EXCEL_XLS)){ //Excel 2003 wb = new HSSFWorkbook(in); }else if(file.getName().endsWith(EXCEL_XLSX)){ // Excel 2007/2010 wb = new XSSFWorkbook(in); } return wb; } }
java poi技术操作excel之读取Excel:点击打开链接
需要使用的Poi jar包下载地址:poi 3.15下载地址
相关文章推荐
- Java通过POI技术操作Excel(3)----数据导出
- java poi技术操作excel之读取Excel
- Java Poi操作Excel写入数据并设置style
- java通过POI技术操作Excel(1)----模板导出
- java poi技术操作excel之读取Excel
- java的poi技术读取和写入excel
- Java操作Excel(一)Poi简介
- 【JAVA】poi操作,excel读取数据。
- java用org.apache.poi包操作excel
- Java POI Excel( pio:纯java操作excel的api )
- java操作Excel(Jakarta_POI)
- Java 操作 Excel (读取Excel2007,Poi实现)
- Java的poi技术读取和导入Excel
- java用poi.jar操作Excel
- java poi 创建XLS 用Jakarta POI操作Excel文件 POI创建 解析Excel
- Java POI Excel( pio:纯java操作excel的api )
- java的poi技术读取和导入Excel
- POI Java操作Excel
- 使用POI操作Excel时对事先写入模板的公式强制执行