- 浏览: 664432 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (173)
- ajax (4)
- ant (4)
- css (14)
- eclipse (1)
- exe4j (0)
- hibernate (7)
- html (29)
- http (2)
- install4j (0)
- java (35)
- javascript (31)
- jdbc (1)
- jquery (2)
- jsp (15)
- linux命令 (8)
- ooad (2)
- properties (3)
- servlet (1)
- spring (3)
- struts (6)
- swing (4)
- thread (2)
- version_control (1)
- webservice (4)
- xml (4)
- 数据库 (19)
- 正则表达式 (5)
- 其他 (16)
- 面试题 (1)
- 框架 (9)
- maven (1)
- util (29)
- 设计模式 (1)
最新评论
-
herodie4444:
看起来好像不难。
Java Struts2创建Excel文件并实现文件下载 -
心轨翼:
Java遍历Set集合方法 -
魔鬼的献祭:
...
java的web开发分页工具类 -
Nmxszxsl:
能发一个没有被墙的代码到我的邮箱吗?万分感谢。54365156 ...
Google翻译post提交无长度限制的在线翻译例子 -
782763595:
...
jar包混淆器介绍
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; 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.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.json.annotations.JSON; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import com.csair.smms.inituserinfo.dto.UserInsert; import com.csair.smms.inituserinfo.service.InitUserInfoService; import com.csair.smms.preventive.service.PreventiveInfoService; @ParentPackage("json-default") @Namespace("/upload") @Controller public class UploadUserAction { private static int version2003 = 2003; private static int version2007 = 2007; private static int version = version2003; private File xlsBook; private String xlsBookFileName; private String xlsBookContentType; private static Logger logger = Logger.getLogger(UploadUserAction.class); @Autowired private InitUserInfoService initUserInfoService; @Autowired private PreventiveInfoService preventiveInfoService; @JSON(serialize = false) public File getXlsBook() { return xlsBook; } public void setXlsBook(File xlsBook) { this.xlsBook = xlsBook; } @JSON(serialize = false) public String getXlsBookFileName() { return xlsBookFileName; } public void setXlsBookFileName(String xlsBookFileName) { this.xlsBookFileName = xlsBookFileName; } @JSON(serialize = false) public String getXlsBookContentType() { return xlsBookContentType; } public void setXlsBookContentType(String xlsBookContentType) { this.xlsBookContentType = xlsBookContentType; } //此方法判别Excel2003和Excel2007 public void initType() { String name = getXlsBookFileName(); if (name != null) { int index = getXlsBookFileName().indexOf("."); String suffex = name.substring(index); if ("xls".equals(suffex)) { version = version2003; } else if ("xlsx".equals(suffex)) { version = version2007; } } } @Action(value = "uploadUser", results = { @Result(type = "json") }) public String analizeExcel() { if (xlsBook != null) { initType(); InputStream is = null; List<UserInsert> userList = null; try { is = new FileInputStream(xlsBook); version = (xlsBookFileName.endsWith(".xls") ? version2003 : version2007); if (version == 2003) {// 2003 POIFSFileSystem fs = new POIFSFileSystem(is); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); userList = readUser(sheet); } else if (version == 2007) {// 2007 XSSFWorkbook xwb = new XSSFWorkbook(is); XSSFSheet sheet = xwb.getSheetAt(0); userList = readUser(sheet); } } catch (FileNotFoundException e) { } catch (IOException e) { } // 保存javabean逻辑 //自己的逻辑代码 } return com.opensymphony.xwork2.Action.SUCCESS; } //此方法为读取表格核心方法 public List<UserInsert> readUser(Sheet sheet) { List<UserInsert> userList = new ArrayList<UserInsert>(); int rowNum = sheet.getPhysicalNumberOfRows(); UserInsert ui = null; for (int i = 1; i < rowNum; i++) { Row row = sheet.getRow(i); Cell c = row.getCell(0); ui = new UserInsert(); if (c != null) { if (c.getCellType() == Cell.CELL_TYPE_NUMERIC) { long id = (long) row.getCell(0).getNumericCellValue(); ui.setId(id + ""); } else { ui.setId(c.getStringCellValue()); } c = row.getCell(1); if (c != null) { ui.setName(row.getCell(1).getStringCellValue()); } else { ui.setName(""); } c = row.getCell(2); if (c != null) { ui.setSex(row.getCell(2).getStringCellValue()); } else { ui.setSex(""); } c = row.getCell(3); if (c != null) { ui.setBase(row.getCell(3).getStringCellValue()); } else { ui.setBase(""); } c = row.getCell(4); if (c != null) { ui.setBaseCode(row.getCell(4).getStringCellValue()); } else { ui.setBaseCode(""); } c = row.getCell(5); if (c != null) { ui.setDepartment(row.getCell(5).getStringCellValue()); } else { ui.setDepartment(""); } c = row.getCell(6); if (c != null) { ui.setPosition(row.getCell(6).getStringCellValue()); } else { ui.setPosition(""); } c = row.getCell(7); if (c != null) { ui.setRole(row.getCell(7).getStringCellValue()); } else { ui.setRole(""); } c = row.getCell(8); if (c != null) { if (c.getCellType() == Cell.CELL_TYPE_NUMERIC) { long m = (long) row.getCell(8).getNumericCellValue(); ui.setMobile(m + ""); } else { ui.setMobile(c.getStringCellValue()); } } else { ui.setMobile(""); } c = row.getCell(9); if (c != null) { if (c.getCellType() == Cell.CELL_TYPE_NUMERIC) { long t = (long) row.getCell(9).getNumericCellValue(); ui.setTelephone(t + ""); } else { ui.setTelephone(c.getStringCellValue()); } } else { ui.setTelephone(""); } c = row.getCell(10); if (c != null) { ui.setEmail(row.getCell(10).getStringCellValue()); } else { ui.setEmail(""); } userList.add(ui); } } return userList; } public static void main(String[] args) { UploadUserAction uua = new UploadUserAction(); uua.analizeExcel(); System.out.println("end-----------------"); } }
JavaBean类:
public class UserInsert implements Serializable{ private static final long serialVersionUID = -796538816605301094L; private String id;// 员工号 private String name;// 姓名 private String sex;// 性别 private String base;// 所属基地 private String baseCode;// 基地三字码 private String department;// 部门 private String position;// 职务 private String role;// 系统角色 private String mobile;// 手机 private String telephone;// 办公电话 private String email;// 邮箱 //此处省略各属性的setter和getter方法 }
说明:
此类为Struts文件上传类,需要POI包的支持,在附件有,包含的jar包为:
poi-3.8.jar
poi-ooxml-3.8.jar
poi-ooxml-schemas-3.8.jar
xmlbeans-2.4.jar
- POI.zip (8.2 MB)
- 下载次数: 112
发表评论
-
java读取.properties配置文件的几种方法
2017-09-22 09:38 672读取.properties配置文件在实际的开发中使用的很多,总 ... -
java前后台字符串编码转换
2016-12-15 15:52 801此文为应用中遇到字符串编码转换问题网上找资料解决问题记录笔记, ... -
JavaScript replace字符串替换函数的用法
2016-10-19 15:21 875replace 语法 stringObj.replace(rg ... -
JS前端DES加密参数
2016-07-08 14:27 11731DES加密为可解密的机制,这里使用DES进行加密方便后台解密还 ... -
XSS跨站漏洞修复
2016-07-08 11:47 4919避免XSS跨站漏洞的方法之一主要是将用户所提交的内容输入输出进 ... -
JS Date函数整理
2015-01-30 10:43 1069JS Date 对象用于处理日期和时间。 创建 Date 对象 ... -
Java Struts2创建Excel文件并实现文件下载
2015-01-16 17:42 1888在做管理系统的时候,经常会用到文件的下载,特别是Excel报表 ... -
js中setInterval与setTimeout用法
2014-11-19 17:09 1031下面详述js中的延时任务与周期任务的实现。 1.setTim ... -
hibernate注解配置联合主键
2014-07-17 09:35 1569有时一个实体的主键可能同时为多个,例如下面使用的字典“Dict ... -
hibernate的clob数据处理
2014-05-21 17:11 1103hibernate的clob数据处理: import or ... -
java设计模式笔记链接地址汇总
2012-12-25 12:02 1085这是iteye博客用户的iulve-rover-163-com ... -
java枚举类型(转)
2012-12-24 18:34 4973public class TestEnum { ... -
内存溢出
2012-11-21 11:07 11201.PermGen space的全称是Permanent Ge ... -
转 js中数据类型判断(转)
2012-11-05 11:07 1139转载自: http://www.cnblogs.com/yjh ... -
日期比较例子
2012-10-16 15:30 1213/** * 时间日期比较处理例子 * @autho ... -
包含日期和时间的选择器(转)
2012-09-27 16:11 1093转载自: http://www.cnblogs.com/swe ... -
基于hibernate的数据持久化处理简单实现类
2012-09-26 20:03 1775package com.forveross.plane.s ... -
Struts2的简单示例action类
2012-09-26 19:57 4690基类: package com.kit.common; ... -
jsp通用分页实现脚本
2012-09-26 17:12 1702工具脚本使用时只需替换url的问号前半部分即可。 此页面需要j ... -
Java过滤html标签
2012-09-21 09:54 1809方法一: String oldStr="< ...
相关推荐
这篇博客“通过POI统一读取Excel文件(兼容97-2003和2007+两种格式)”正是介绍了如何使用Apache POI库来处理不同版本的Excel文件。 Apache POI 提供了两个主要的API来处理Excel文件:HSSF(Horrible Spreadsheet ...
在这个"poi读取excel2007和2003兼容工具例子"中,我们将探讨如何使用POI来读取不同版本的Excel文件,特别是Excel 2003(.xls)和Excel 2007及更高版本(.xlsx)。 1. **Apache POI库**:Apache POI是Apache软件基金...
在本文中,我们将重点讨论如何使用POI库来实现对Excel 2003和2007文件的兼容性操作。Excel 2003使用的是.BIFF(Binary Interchange File Format)格式,而Excel 2007及以上版本则引入了新的.OpenXML(.xlsx)格式,...
在“poi读取excel文件实例”中,我们将讨论如何使用Apache POI API来读取和操作Excel 2007文件。以下是一些关键知识点: 1. **创建工作簿对象**:首先,你需要通过`WorkbookFactory`类的`create()`方法打开或创建一...
在给定的标题和描述中,"jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003" 提到了一种结合Java Web技术实现文件上传,并通过不同库解析Excel文件的解决方案。这里我们将详细探讨涉及的各个知识点。 首先,`...
"poi3.9读写excel兼容03和07版本"这个标题指的是使用Apache POI 3.9版本的API,能够兼容两种不同格式的Excel文件:.xls(Excel 2003及更早版本)和.xlsx(Excel 2007及更高版本)。 在描述中提到的"完美修订版本...
兼容03/07版Excel的功能意味着ExcelUtil支持两种主要的Excel文件格式:.xls(97-2003版本)和.xlsx(2007及以上版本)。这得益于Apache POI库的广泛支持。 总的来说,ExcelUtil通过结合反射和Apache POI库,极大地...
标题提到的"poi读取excel文件",指的是使用Apache POI库来处理Excel数据。在最新的版本中,POI引入了更高效和强大的功能,使得处理Excel文件变得更加方便。 描述中提到了"最新版poi相关的6个jar包",这些jar包是...
读取Excel文件使用HSSF的usermodel API非常直观。首先,你需要创建一个`InputStream`,然后实例化`HSSFWorkbook`: ```java InputStream myxls = new FileInputStream("workbook.xls"); HSSFWorkbook wb = new ...
在Android平台上,使用Apache POI库来读取Excel文件是一种常见的解决方案。Apache POI是一个流行的开源项目,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。在这个“android ...
它不仅支持旧版的Excel文件格式(.xls,用于Office 2003及更早版本),还支持新版本的Excel文件格式(.xlsx,自Office 2007起)。以下是对"java中poi读写excel封装工具类"这一主题的详细解释。 1. **Apache POI介绍...
### POI兼容2003 和 2007 #### 概述 Apache POI 是一个用于读写Microsoft Office格式文件(如Excel、Word等)的Java API库。随着Office版本的更新,POI也提供了不同的API来支持不同版本的文件格式。本篇文章将深入...
在Java世界中,当需要处理Excel数据时,POI库是一个常用的选择,尤其在需要跨版本兼容性时,如在Excel 2003、2007和2010之间。以下将详细讲解如何使用Java POI来完美解决这些版本之间的兼容问题。 首先,Excel 2003...
在Java编程中,读取Excel文件是一项常见的任务,特别是在数据处理和分析的场景下。Excel文件格式有两种主要版本,即2003年的.xls格式和2007年及以后的.xlsx格式。为了兼容这两种格式,Java引入了Apache POI库,这是...
以下是关于"poi java读取excel所需jar包"的详细知识讲解。 1. **Apache POI 主要jar包**: - `poi-3.7-sources.jar`:这是Apache POI的主要源代码包,虽然在运行时并不需要源代码,但如果你需要查看或调试POI的...
标题中的"poi读取excel的jar包"指的是Apache POI库的一个版本,它包含了读取Excel 2007文件所需的类和方法。在Java程序中,引入这个jar包后,开发者可以编写代码来处理.xlsx文件,无论是读取数据、解析工作表还是...
- POI 不支持读取 .xls 文件(Excel 97-2003 格式),除非使用 HSSFWorkbook 类,但不推荐,因为 .xlsx 格式更现代且兼容性更好。 - 处理大型文件时,要特别注意内存管理,避免因数据量过大导致 OutOfMemoryError...
标题提到的“POI导入excel大数据处理”是指利用Apache POI进行大量Excel数据的导入操作,同时它兼容Excel 2003(.xls格式)和2007以上版本(.xlsx格式)的文件。 POI库的主要优点包括: 1. **多格式支持**:不仅...
Excel2003和Excel2007虽然版本不同,但它们都提供了强大的数据管理和分析功能。这里我们将详细讨论如何在不同的操作系统和环境中读取这两种版本的Excel文件。 首先,Excel2003是微软发布的第十一版电子表格程序,...