java中如何导入excel表格
来源:互联网 发布:java开发酒店管理系统 编辑:程序博客网 时间:2024/05/29 07:36
如果你想导出excel表格,请参考:http://blog.csdn.net/xuanzhangran/article/details/54709221
0:如果这里没有帮助到你,后面的一个链接也有具体的项目代码实现:http://blog.csdn.net/xuanzhangran/article/details/71603478
1:这是一个main方法,自己复制过去,运行一下试试。是可以成功的。
2:需要导的包:。
3:jia包下载路径,无需c币:http://download.csdn.net/detail/xuanzhangran/9813051
4:代码如下:
5:在main方法里写上需要导的excel的路径即可。
package com.idorabox.manage.web.util;import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.LinkedList; import java.util.List; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFDateUtil; 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.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; /** * * @ClassName: ImportExcelUtil * @Description: excel 导入数据 * @author qinzz * @date 2017年1月17日 * @time 上午10:28:48 */public class ImportExcelUtil { public static List<List<Object>> importExcel(File file) throws IOException{ String fileName = file.getName(); String extension = fileName.lastIndexOf(".")==-1?"":fileName.substring(fileName.lastIndexOf(".")+1); if("xls".equals(extension)){ return read2003Excel(file); }else if("xlsx".equals(extension)){ return read2007Excel(file); }else{ throw new IOException("不支持的文件类型"); } } /** * 读取 office 2003 excel * @throws IOException * @throws FileNotFoundException */ private static List<List<Object>> read2003Excel(File file) throws IOException{ List<List<Object>> list = new LinkedList<List<Object>>(); HSSFWorkbook hwb = new HSSFWorkbook(new FileInputStream(file)); HSSFSheet sheet = hwb.getSheetAt(0); Object value = null; HSSFRow row = null; HSSFCell cell = null; for(int i = sheet.getFirstRowNum();i<= sheet.getPhysicalNumberOfRows();i++){ row = sheet.getRow(i); if (row == null) { continue; } List<Object> linked = new LinkedList<Object>(); for (int j = row.getFirstCellNum(); j <= row.getLastCellNum(); j++) { cell = row.getCell(j); if (cell == null) { continue; } DecimalFormat df = new DecimalFormat("0");// 格式化 number String 字符 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化日期字符串 DecimalFormat nf = new DecimalFormat("0");// 格式化数字 switch (cell.getCellType()) { case XSSFCell.CELL_TYPE_STRING: // System.out.println(i+"行"+j+" 列 is String type"); value = cell.getStringCellValue(); break; case XSSFCell.CELL_TYPE_NUMERIC: // System.out.println(i+"行"+j+" 列 is Number type ; DateFormt:"+cell.getCellStyle().getDataFormatString()); if("@".equals(cell.getCellStyle().getDataFormatString())){ value = df.format(cell.getNumericCellValue()); } else if("General".equals(cell.getCellStyle().getDataFormatString())){ value = nf.format(cell.getNumericCellValue()); }else{ value = sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); } break; case XSSFCell.CELL_TYPE_BOOLEAN: // System.out.println(i+"行"+j+" 列 is Boolean type"); value = cell.getBooleanCellValue(); break; case XSSFCell.CELL_TYPE_BLANK: // System.out.println(i+"行"+j+" 列 is Blank type"); value = ""; break; default: // System.out.println(i+"行"+j+" 列 is default type"); value = cell.toString(); } if (value == null || "".equals(value)) { continue; } linked.add(value); } list.add(linked); } return list; } /** * 读取Office 2007 excel * */ private static List<List<Object>> read2007Excel(File file) throws IOException { List<List<Object>> list = new LinkedList<List<Object>>(); // 构造 XSSFWorkbook 对象,strPath 传入文件路径 XSSFWorkbook xwb = new XSSFWorkbook(new FileInputStream(file)); // 读取第一章表格内容 XSSFSheet sheet = xwb.getSheetAt(0); Object value = null; XSSFRow row = null; XSSFCell cell = null; for (int i = sheet.getFirstRowNum(); i <= sheet .getPhysicalNumberOfRows(); i++) { row = sheet.getRow(i); if (row == null) { continue; } List<Object> linked = new LinkedList<Object>(); for (int j = row.getFirstCellNum(); j <= row.getLastCellNum(); j++) { cell = row.getCell(j); if (cell == null) { continue; } DecimalFormat df = new DecimalFormat("0");// 格式化 number String 字符 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化日期字符串 DecimalFormat nf = new DecimalFormat("0");// 格式化数字 switch (cell.getCellType()) { case XSSFCell.CELL_TYPE_STRING: // System.out.println(i+"行"+j+" 列 is String type"); value = cell.getStringCellValue(); break; case XSSFCell.CELL_TYPE_NUMERIC: // System.out.println(i+"行"+j+" 列 is Number type ; DateFormt:"+cell.getCellStyle().getDataFormatString()); if("@".equals(cell.getCellStyle().getDataFormatString())){ value = df.format(cell.getNumericCellValue()); } else if("General".equals(cell.getCellStyle().getDataFormatString())){ value = nf.format(cell.getNumericCellValue()); }else{ value = sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); } break; case XSSFCell.CELL_TYPE_BOOLEAN: // System.out.println(i+"行"+j+" 列 is Boolean type"); value = cell.getBooleanCellValue(); break; case XSSFCell.CELL_TYPE_BLANK: // System.out.println(i+"行"+j+" 列 is Blank type"); value = ""; break; default: // System.out.println(i+"行"+j+" 列 is default type"); value = cell.toString(); } if (value == null || "".equals(value)) { continue; } linked.add(value); } list.add(linked); } return list; } public static void main(String[] args) throws IOException { // excel 导入数据demo File file = new File("E:\\零售订单订单20170411.xls"); List<List<Object>> dataList=importExcel(file); for (int i = 1; i < dataList.size(); i++) { for (int j = 1; j < dataList.get(i).size(); j++) { System.out.println(dataList.get(i).get(j)); } System.out.println("------------------"); } } }
2 0
- java中如何导入excel表格
- Java中excel表格导入数据库
- java中导入(读)excel表格
- java中excel表格批量导入
- java Excel表格导入
- java中如何导出excel表格
- 如何往excel的表格中导入一张图片
- 如何将多sheet Excel 导入到超级表格中
- java 导入 excel表格 日期类型列 该如何解析?
- EVIEWS中导入EXCEL表格
- winform中导入excel表格
- Java导入导出Excel表格
- java web导入excel表格
- Java导入导出Excel表格
- java导入导出excel表格
- java excel表格数据导入
- java excel表格导入导出
- java导入excel表格日期
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Android实现可移动的自定义浮动按钮
- 链表与数组的区别
- 【CQOI2017】bzoj4823 老C的方块
- React Native学习一
- java中如何导入excel表格
- Find Minimum in Rotated Sorted Array
- 将Excel数据快速大批量导入数据库的代码
- Python——列表,元组
- Windows环境使用Nexus-3.x搭建Maven私服
- nginx 基本操作
- Echarts 柱状图x轴显示全部类目
- 批量删除运行中的容器--docker
- 大数处理 JAVA