整理FileUtils的一些方法,只是一些初步实现,刚写完就挂上来了…
友情提示:**过于结构化,没太多润色....码的不好还请诸位海涵并多提意见**
关联的类型
资源 | 类型 | 说明 |
---|---|---|
Workbook | 接口 | Excel工作簿的高级表示。这是大多数用户在阅读或编写工作簿时所构建的第一个对象。它也是创建新表/等的顶级对象 |
WorkbookFactory | 类 | 创建合适的工作簿(HSSFWorkbook或XSSFWorkbook),从提供的输入中自动检测。 |
HSSFWorkbook | 类 | .xls (97版和2003版的格式) |
XSSFWorkbook | 类 | .xlsx (2007之后版本格式) |
Sheet | 接口 | Excel工作表的高级表示。表是工作簿中的中心结构,并且是用户在其电子表格中工作的地方。最常见的表类型是工作表,它表示为单元格网格。工作表单元格可以包含文本、数字、日期和公式。单元格也可以被格式化。 |
Row | 接口 | 行 |
Cell | 接口 | 单元格 |
如果有其他需求可参考官方文档:http://poi.apache.org/apidocs/index.html?overview-summary.html
jar包预览:
下载地址:http://download.csdn.net/detail/u013591605/9898273
概述
- 读取:
利用WorkbookFactory 构建一个Workbook对象,按次生成Sheet[1…255]03版,[1…n]07版.根据数据源容器(size)创建对应行(row)的个数rowNumber = size+1(保留一个title),可以理解为一个row代表一个Object,而对应行(row)所包含的单元格(Cell)就是Object的成员属性. - 写入:
与读取方法不同的事,写入根据实际需求决定是哪种文件格式,另外Cell.setCellStyle()可以定义单元格的外观,换句话说,写入的时候如果将写入的数据只是作为一般存储,也没必要纠结于样式. - Excel 提供的6中参数类型:
Tag | 说明 |
---|---|
Cell.CELL_TYPE_STRING | 代表文本 |
Cell.CELL_TYPE_BLANK | 空白格 |
Cell.CELL_TYPE_BOOLEAN: | 布尔型 |
Cell.CELL_TYPE_NUMERIC | 数字 |
Cell.CELL_TYPE_ERROR | 错误 |
Cell.CELL_TYPE_FORMULA | 公式 |
代码部分
读取Excel文件
public static <T> Map<String, List<? extends T>> readExcel(String path, Class clzz) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
List<T> list = new LinkedList<T>();
Map<String, List<? extends T>> map = new HashMap<String, List<? extends T>>();
File file = new File(path);
FileInputStream fis = null;
Workbook workBook = null;
if (file.exists()) {
try {
fis = new FileInputStream(file);
workBook = WorkbookFactory.create(fis);
int numberOfSheets = workBook.getNumberOfSheets();
for (int s = 0<