一、下载所需jar包

下载地址:http://poi.apache.org/download.html

http://download.csdn.net/detail/likai22/534250

二、上代码

package com.sxdx.excelpoi.action;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; import jxl.Cell;
import jxl.CellType;
import jxl.NumberCell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
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.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.util.CellRangeAddress;
/**
* HSSF - 提供读写Microsoft Excel XLS格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。
HWPF - 提供读写Microsoft Word DOC97格式档案的功能。
XWPF - 提供读写Microsoft Word DOC2003格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读Microsoft Visio格式档案的功能。
HPBF - 提供读Microsoft Publisher格式档案的功能。
HSMF - 提供读Microsoft Outlook格式档案的功能。
*
*/
public class PoiAction {
/**
* 生成excel
* @param args
*/
public static void main(String[] args) { HSSFWorkbook wb = new HSSFWorkbook();// 创建HSSFWorkbook对象
HSSFSheet sheet = wb.createSheet("sheet0");// 创建HSSFSheet对象 //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
sheet.addMergedRegion(new CellRangeAddress(0,0,0,10));
sheet.setDefaultRowHeightInPoints(20);//设置缺省列高
sheet.setDefaultColumnWidth(8);//设置缺省列宽
//设置指定列的列宽,256 * 50这种写法是因为width参数单位是单个字符的256分之一
sheet.setColumnWidth(0, 256 * 30); // 设置单元格的横向和纵向对齐方式
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setAlignment(HorizontalAlignment.CENTER);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); //-----------------------------------------------------------------------
HSSFRow row0 = sheet.createRow(0);// 创建HSSFRow对象
row0.setHeight((short) 600);//设置行高
HSSFCell cell0 = row0.createCell(0);
cell0.setCellValue("考勤结果表");
cell0.setCellStyle(cellStyle); HSSFRow row1 = sheet.createRow(1);// 创建HSSFRow对象
// 创建HSSFCell对象 HSSFCell cell = row.createCell(0)
// 设置单元格的值
for(int i=0;i<31;i++){
HSSFCell cell1 = row1.createCell(i);
cell1.setCellValue(i+1);
cell1.setCellStyle(cellStyle);
}
HSSFRow row2 = sheet.createRow(2);
for(int i=0;i<31;i++){
HSSFCell cell2 = row2.createCell(i);
cell2.setCellValue("正常");
cell2.setCellStyle(cellStyle);
} HSSFRow row3 = sheet.createRow(3);
for(int i=0;i<31;i++){
HSSFCell cell3 = row3.createCell(i);
cell3.setCellValue("迟到");
cell3.setCellStyle(cellStyle);
} HSSFRow row4 = sheet.createRow(4);
for(int i=0;i<31;i++){
HSSFCell cell4 = row4.createCell(i);
cell4.setCellValue("请假");
cell4.setCellStyle(cellStyle);
} try {
// 输出Excel文件
FileOutputStream output = new FileOutputStream("d:\\workbook.xls");
wb.write(output);
output.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 读取excel
*/
public static void readExcel(){
//导入已存在的Excel文件,获得只读的工作薄对象
FileInputStream fis = null;
try {
fis = new FileInputStream("d:\\workbook.xls");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Workbook wk = null;
try {
wk = Workbook.getWorkbook(fis);
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//获取第一张Sheet表
Sheet sheet = (Sheet) wk.getSheet(0);
//获取总行数
int rowNum = sheet.getRows();
//从数据行开始迭代每一行
for(int i=0;i<rowNum;i++){ System.out.println(sheet.getCell(0, i).getContents());
}
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
wk.close();
}
}

三、main()方法为生成excel, readExcel()为读取excel。效果图如下

1、生成文件

2、excel内容

3、读取excel

POI(java 操作excel,word等)编程的更多相关文章

  1. java操作excel总结---poi

    前不久做过Excel的导入导出功能,其主要的难点是java如何操作Excel文档.现在就来介绍一下利用Apache的poi如何操作Excel. 1.准备工作:导入Apache POI的相关jar包,P ...

  2. Java操作Excel(使用POI)

    背景说明 以前写过使用 JXL 操作Excel的例子,但JXL对于Excel 2007版本以后的文件(即扩展名为 .xlsx)无法读取,也找不到可以支持的包.所以,有时不得不用 POI 来操作Exce ...

  3. java操作Excel处理数字类型的精度损失问题验证

    java操作Excel处理数字类型的精度损失问题验证: 场景: CELL_TYPE_NUMERIC-->CELL_TYPE_STRING--->CELL_TYPE_NUMERIC POI版 ...

  4. java操作Excel、PDF文件

    java操作Excel.PDF文件 分享者:Vashon 分享来源:CSDN博客 下面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的 ...

  5. Apache POI组件操作Excel,制作报表(四)

    Apache POI组件操作Excel,制作报表(四) 博客分类: 探索实践 ExcelApacheSpringMVCServlet      上一篇我们介绍了如何制作复杂报表的分析和设计,本篇结合S ...

  6. java操作excel 工具类

    java操作excel 可参考https://blog.csdn.net/xunwei0303/article/details/53213130 直接上代码: 一.java生成excel文件: pac ...

  7. Java 操作 EXCEL

    今天帮朋友写了一段用来处理EXCEL内容的程序,在这里记录下自己的学习过程.主要是对EXCEL表格中的内容做分类和统计,使用计算机来做这种重复的机械性地工作再好不过了.首先,我们需要下载一个java操 ...

  8. JAVA操作Excel时文字自适应单元格的宽度设置方法

    使用JAVA操作Excel通常都使用JXL,方法很简单网上也有很多的教程,然后往往一些细节性的问题却导致我们这些Programmer苦恼不已.这两天帮一个朋友做一个Excel表格自动生成的小软件,就遇 ...

  9. jxl的使用总结(java操作excel)

    jxl.jar是通过java操作excel表格的工具类库: jxl.jar包:链接:http://pan.baidu.com/s/1o8qFJHw 密码:5jyq 1:通过模拟实现创建一个表格,然后模 ...

  10. Java操作Excel文件以及在Android中的应用

    本文章由临江仙原创,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/10286563 Excel作为一种有格式的文件,可以使用Java来对 ...

随机推荐

  1. hibernate编写流程

    1.加载hibernatexml配置文件 2.创建sessionFactory 3.根据sessionFactory创建session 4.开启事务 5.持久化操作 6.提交事务 7.释放资源 其中第 ...

  2. Spring框架的JDBC模板技术概述

    1. Spring框架中提供了很多持久层的模板类来简化编程,使用模板类编写程序会变的简单 2. 提供了JDBC模板,Spring框架提供的 * JdbcTemplate类 3. Spring框架可以整 ...

  3. 菜刀连接webshell

    中国菜刀,一个非常好用而又强大的webshell,它可不是用来切菜的做饭的道具哦,是一款专业的网站管理软件,大小只有300多KB,真是小巧实用啊!不过被不法分子利用到,就是一个黑站的利器了.我记得以前 ...

  4. Codeforces C. NP-Hard Problem 搜索

    C. NP-Hard Problem time limit per test:2 seconds memory limit per test:256 megabytes input:standard ...

  5. mstsc本地驱动器

    mstsc 可以把本地驱动器 挂载到服务器上

  6. attempt to create delete event with null entity

    解决办法:删除之前判断是否为空 if(Object != null){ session.delete(Object); }

  7. 2018.10.19 NOIP模拟 比特战争(kruskal)

    传送门 考完发现是sbsbsb题啊. 直接考虑优化状压的转移. 可以证明最优解一定在求最小生成树的时候取得. 因此再最小生成树时维护一下连通块的最值统计答案就行了. 代码

  8. phalapi框架where条件查询

    // WHERE name = 'dogstar' AND age = 18 $user->where(array('name' => 'dogstar', 'age' => 18) ...

  9. Win7 SP1 提示ADO的问题

    需要安装  Windows6.1-KB2640696-v3-x64.msu 这个Pack

  10. StackView实现叠加在一起的图片循环移动像循环队列一样

    MainActivity.java public class MainActivity extends Activity {   StackView stackView; int[] imageIds ...