java对excel经行读写

package com.common.tool.util;import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;import javax.swing.plaf.synth.Region;
import java.io.FileInputStream;
import java.io.FileOutputStream;/*** Created by dell on 2018/5/3.*/
public class CreateExcel {public static void main(String args[]) {CreateExcel createExcel = new CreateExcel();String path = "D:\\test.xlsx";//路径可随意替换try {//随意创建一个ExcelcreateExcel.createExcel(path);//读取上一行创建的ExcelcreateExcel.getExcel(path);// System.out.println("----------我是分割线----------");//创建Excel的表头createExcel.createExcelTop(path);//读取上一行创建的ExcelcreateExcel.getExcel(path);} catch (Exception e) {e.printStackTrace();}}//创建Excel文件public void createExcel(String path) throws Exception {//创建Excel文件对象HSSFWorkbook wb = new HSSFWorkbook();//用文件对象创建sheet对象  HSSFSheet sheet = wb.createSheet("第一个sheet页");//用sheet对象创建行对象  HSSFRow row = sheet.createRow(0);//创建单元格样式     CellStyle cellStyle = wb.createCellStyle();//用行对象创建单元格对象Cell Cell cell = row.createCell(0);//用cell对象读写。设置Excel工作表的值cell.setCellValue(1);//输出Excel文件FileOutputStream output = new FileOutputStream(path);wb.write(output);output.flush();}//读取Excel文件的值public void getExcel(String path) throws Exception {POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(path));//得到Excel工作簿对象    HSSFWorkbook wb = new HSSFWorkbook(fs);//得到sheet页个数(从1开始数,但是取值的时候要从index=0开始)int scount = wb.getNumberOfSheets();System.out.println("sheet页的个数为:" + (scount));for (int a = 0; a < scount; a++) {String sheetName = wb.getSheetName(a);System.out.println("第" + (a + 1) + "个sheet页的名字为" + sheetName + ",内容如下:");//得到Excel工作表对象(0代表第一个sheet页)    HSSFSheet sheet = wb.getSheetAt(a);HSSFSheet sheet1 = wb.getSheet("第一个sheet页");//预定义单元格的值String c = "";//得到工作表的有效行数(行数从0开始数,取值时从index=0开始)int rcount = sheet.getLastRowNum();System.out.println("第" + (a + 1) + "个sheet页有" + rcount + "行");for (int i = 0; i <= rcount; i++) {//得到Excel工作表的行    HSSFRow row = sheet.getRow(i);if (null != row) {//获取一行(row)的有效单元格(cell)个数(列数从1开始数,取值的时候从index=0开始取)int ccount = row.getLastCellNum();System.out.println("第" + (i + 1) + "行有" + ccount + "个单元格");for (int j = 0; j < ccount; j++) {//得到Excel工作表指定行的单元格    HSSFCell cell = row.getCell(j);if (null != cell) {//得到单元格类型int cellType = cell.getCellType();switch (cellType) {//字符串类型  case HSSFCell.CELL_TYPE_STRING:c = cell.getStringCellValue();if (c.trim().equals("") || c.trim().length() <= 0)c = " ";break;case HSSFCell.CELL_TYPE_NUMERIC:c = String.valueOf(cell.getNumericCellValue());default:break;}//String c = cell.getStringCellValue();System.out.print("第" + (i + 1) + "行" + (j + 1) + "列的值为:" + c + "    ");} else {System.out.print("第" + (i + 1) + "行" + (j + 1) + "列的值为:空" + "    ");}}System.out.println();}else {System.out.println("第" + (i + 1) + "行的值为:空");}}}}//创建excel的表头,设置字体及字体颜色,设置单元格填充色public void createExcelTop (String path) throws Exception{//创建Excel对象HSSFWorkbook hssfWorkbook = new HSSFWorkbook();//Excel样式HSSFCellStyle style = hssfWorkbook.createCellStyle();//居中style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//Excel字体设置HSSFFont hssfFont = hssfWorkbook.createFont();hssfFont.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);hssfFont.setColor(HSSFColor.RED.index);style.setFont(hssfFont);//创建sheet对象Sheet sheet = hssfWorkbook.createSheet();//创建rowRow row = sheet.createRow(1);//创建cellCell cell = row.createCell(0);//设置cell的值cell.setCellValue("姓名");row.createCell(1).setCellValue("年龄");row.createCell(2).setCellValue("入学日期");row.createCell(3).setCellValue("分数");//Excel设置单元格填充色HSSFCellStyle style2 = hssfWorkbook.createCellStyle();style2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);//设置前景填充样式style2.setFillForegroundColor(HSSFColor.RED.index);//前景填充色for (int i = 2;i<4;i++){Row row2 = sheet.createRow(i);row2.createCell(0).setCellValue("李明");Cell cell2 = row2.createCell(1);cell2.setCellValue("21");cell2.setCellStyle(style2);row2.createCell(2).setCellValue("2017年01月01日");row2.createCell(3).setCellValue(78);}//设置标题,以及设置单元格的样式,有些样式只对单元格有效Row row5 = sheet.createRow(0);Cell cell1 = row5.createCell(0);cell1.setCellValue("学生成绩表");cell1.setCellStyle(style);//合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));//row5.createCell(3).setCellValue();//输出Excel对象FileOutputStream output = new FileOutputStream(path);hssfWorkbook.write(output);output.flush();}}

java对excel经行读写相关推荐

  1. Java实现Excel文件读写

    目录 一.简介 二.maven依赖 三.工具类ExcelUtil 四.测试 4.1.EmployeeVo 4.2.写入数据到Excel 4.3.从Excel读取数据 结语 一.简介   HSSFWor ...

  2. 使用JXL.jar实现JAVA对EXCEL的读写操作

    简介: jxl.jar是通过java操作excel表格的工具类库 jxl操作excel包括对象Workbook(工作簿),Sheet(工作表) ,Cell(单元格). 一个excel就对应一个Work ...

  3. JAVA实现Excel的读写--poi

    上一篇为大家介绍了通过xls.jar的方式生成Excel的方法,本篇就为大家再介绍一下通过poi方式实现Excel文件的读写操作,内容很简单,代码注释很清晰. 1.生成Excel文件: import ...

  4. EasyExcel java实现excel简单读写操作(快速上手,复制粘贴即可)

    EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项目. https://github.com/alibaba/easyexcel 一.导入maven坐标 Lombok可选,不导 ...

  5. 使用java进行excel的读写,两种excel的区别以及easyexcel的使用

    EasyExcel Excel介绍: excel的样例: 工作簿:代表这个excel. 工作表:Sheet代表每一张表格 行属性:每一行的数据 列属性:每一列的数据 单元格:最小的属性 写入文件 03 ...

  6. java操作Excel实现读写

    依赖 implementation 'org.apache.poi:poi:3.17' implementation 'org.apache.poi:poi-ooxml:3.17' implement ...

  7. Java对Excel的读写详解(POI)

    <!-- 配置读取excel所需 --> <dependency> <groupId>dom4j</groupId> <artifactId> ...

  8. Java程序利用POJ读写Excel的.xls或.xlsx文件所需的3个jar包

    Java程序利用POJ读写Excel文件时,不能只用poi的jar包,因为它还依赖于xmlbeans的jar包,xmlbeans又以来与common-collections的jar包,因此,正常使用P ...

  9. java使用jxl包读写excel表格文件,即xls格式文件

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用jxl包读写excel表格文件,即xls格式文件 本实例演示使用jxl包实现对excel文件的操作,下载 测试代码 public st ...

最新文章

  1. python tk 获取鼠标事件_在Tkin中列出鼠标悬停事件函数
  2. git reset改写提交
  3. Oracle rollup 关键字用法简介.
  4. Hadoop处于风雨飘摇中
  5. 大话设计模式读书笔记--6.原型模式
  6. 清华计算机自主招生试题,2017年清华大学自主招生笔试题
  7. bin文件怎么转换成文本文档_怎么把pdf文件转换成word文档?这样转很简单
  8. NeurIPS 2018 中的贝叶斯研究
  9. 说下List接口下的那些类
  10. 企业会计准则2020版pdf_企业会计准则及应用指南(2017版)
  11. Oracle 连接查询的理解
  12. 温泉季节到了,设计师需要的SPA插画,完美体现那一池的温暖!
  13. 【★】路由环路大总结!
  14. 编译原理第一章笔记--绪论
  15. nrf52840 spi 32MHz配置
  16. 信创操作系统--麒麟Kylin桌面操作系统(项目九 实用工具软件:截图、字体、扫描、打印机)
  17. 苹果屏幕镜像如何使用,苹果系统又该如何实现镜像投屏?
  18. 数字绘画技术,从数位板到数位屏
  19. JAVA自学-day14-正则表达式、Math类、Random类、System、BigInteger、BigDecimal、Date/DateFormat、Calendar
  20. idea里面java文件只读,Java只读集合

热门文章

  1. 字符串匹配【模板】(luogu 3375)
  2. canvas学习之柱状图
  3. 3 django系列之Form表单在前端web界面渲染与入库保存
  4. MIFARE系列6《射频卡与读写器的通讯》
  5. TC2.0中怎样调用汇编程序
  6. 解决长email在表格td中不自动换行的问题 CSS强制不换行
  7. oracle10g中获得可更新的(修改、增加等) ResultSet
  8. cassandra入门
  9. 多媒体交互应用基础(11)
  10. 第六章:react-router4