- 浏览: 194363 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
kjmmlzq19851226:
这个和排序米有关系吧
一个排好序的数组,找出两数之和为m的所有组合 -
ileson:
...
spring在web.xml中的配置
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.text.DecimalFormat;
import java.text.Format;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.cnpc.oms.om.pojo.CommOmWorkStatus;
/**
*
* 标题:Excel导入工具类
*
* 作者:ShengLiguo
*
*/
public class OmImportExcelUtil {
public static List analysis03ExcelDate(InputStream inStream, String[] head)
throws Exception {
List list = new ArrayList();
HSSFWorkbook book = new HSSFWorkbook(inStream);
HSSFSheet sheet = book.getSheetAt(0);
HSSFRow row = null;
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
Map map = new HashMap();
String questionSenderOrg = "";
String questionType = "";
int k = 0;
row = sheet.getRow(i);
for (int j = 0; j < head.length; j++) {
if (head[j].equals("questionSenderOrg")) {
if (!"".equals(questionSenderOrg)
&& !"".equals(getCellValue(row.getCell(j)))) {
questionSenderOrg = questionSenderOrg + "-"
+ getCellValue(row.getCell(j));
} else {
questionSenderOrg = questionSenderOrg
+ getCellValue(row.getCell(j));
}
if (k++ == 2) {
map.put(head[j], questionSenderOrg);
k = 0;
}
continue;
}
if (head[j].equals("questionType")) {
if (!"".equals(questionType)
&& !"".equals(getCellValue(row.getCell(j)))) {
questionType = questionType + "-"
+ getCellValue(row.getCell(j));
} else {
questionType = questionType
+ getCellValue(row.getCell(j));
}
if (k++ == 4) {
map.put(head[j], questionType);
k = 0;
}
continue;
}
map.put(head[j], getCellValue(row.getCell(j)));
}
list.add(map);
}
return list;
}
public static List analysis07ExcelDate(InputStream inStream, String[] head)
throws Exception {
List list = new ArrayList();
XSSFWorkbook book = new XSSFWorkbook(inStream);
XSSFSheet sheet = book.getSheetAt(0);
XSSFRow row = null;
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
Map map = new HashMap();
String questionSenderOrg = "";
String questionType = "";
int k = 0;
row = sheet.getRow(i);
for (int j = 0; j < head.length; j++) {
if (head[j].equals("questionSenderOrg")) {
if (!"".equals(questionSenderOrg)
&& !"".equals(getCellValue(row.getCell(j)))) {
questionSenderOrg = questionSenderOrg + "-"
+ getCellValue(row.getCell(j));
} else {
questionSenderOrg = questionSenderOrg
+ getCellValue(row.getCell(j));
}
if (k++ == 2) {
map.put(head[j], questionSenderOrg);
k = 0;
}
continue;
}
if (head[j].equals("questionType")) {
if (!"".equals(questionType)
&& !"".equals(getCellValue(row.getCell(j)))) {
questionType = questionType + "-"
+ getCellValue(row.getCell(j));
} else {
questionType = questionType
+ getCellValue(row.getCell(j));
}
if (k++ == 4) {
map.put(head[j], questionType);
k = 0;
}
continue;
}
map.put(head[j], getCellValue(row.getCell(j)));
}
list.add(map);
}
return list;
}
private static Object getCellValue(Cell cell) {
if (cell.getCellType() == cell.CELL_TYPE_STRING) {
return cell.getStringCellValue();
}
if (cell.getCellType() == cell.CELL_TYPE_NUMERIC) {
if (DateUtil.isCellDateFormatted(cell)) {
return cell.getDateCellValue();
} else {
Format format = new DecimalFormat("#");
return format.format(cell.getNumericCellValue());
}
}
return "";
}
private static PropertyDescriptor[] getPropertyDescriptors(Object obj) {
BeanInfo ObjInfo;
try {
ObjInfo = Introspector.getBeanInfo(obj.getClass());
} catch (IntrospectionException e) {
return new PropertyDescriptor[0];
}
PropertyDescriptor[] propertyDesc = ObjInfo.getPropertyDescriptors();
return propertyDesc;
}
public static Object setPropertyValue(Map map, Object obj) {
PropertyDescriptor[] propertyDesc = getPropertyDescriptors(obj);
for (int i = 0; i < propertyDesc.length; i++) {
if (propertyDesc[i].getName().compareToIgnoreCase("class") == 0)
continue;
Object objValue = map.get(propertyDesc[i].getName()) == null ? ""
: map.get(propertyDesc[i].getName());
Object value = parseObject(objValue, propertyDesc[i]
.getPropertyType());
try {
propertyDesc[i].getWriteMethod().invoke(obj, value);
} catch (Exception e) {
e.printStackTrace();
}
}
return obj;
}
public static Object parseObject(Object fromObj, Class toClass) {
Object objReturn = null;
if (fromObj.equals("")) {
return objReturn;
}
String fromClassName = fromObj.getClass().getName();
String toClassName = toClass.getName();
if (fromClassName.equals(toClassName)) {
objReturn = fromObj;
} else if ("java.lang.Short".equals(toClassName)
|| "java.lang.Integer".equals(toClassName)
|| "java.lang.Long".equals(toClassName)
|| "java.lang.Float".equals(toClassName)
|| "java.lang.Double".equals(toClassName)
|| "java.math.BigDecimal".equals(toClassName)) {
try {
Constructor constructor = toClass
.getConstructor(new Class[] { String.class });
objReturn = constructor.newInstance(new Object[] { fromObj });
} catch (Exception e) {
e.printStackTrace();
}
} else {
throw new IllegalArgumentException("From " + fromClassName + " To "
+ toClassName + ", Unsupported");
}
return objReturn;
}
public static void main(String[] args) throws Exception {
String[] head = { "title", "questionSenderOrg", "questionSenderOrg",
"questionSenderOrg", "questionType", "questionType",
"questionType", "questionType", "questionType",
"questionReceiver", "solveStatus", "questionAskDate",
"questionSolveDate", "questionFrom", "questionSolver",
"questionSolveMethod", "questionSender", "questionSenderTel" };
InputStream in = new FileInputStream(
"C:/Documents and Settings/ShengLiGuo/桌面/工单.xlsx");
List<Map> mapList = analysis07ExcelDate(in, head);
CommOmWorkStatus workStatus = new CommOmWorkStatus();
for (Map map : mapList) {
setPropertyValue(map, workStatus);
System.out.println("======" + workStatus.getTitle());
System.out.println("======" + workStatus.getQuestionFrom());
}
}
}
发表评论
-
java对称加密算法的使用
2014-05-26 09:55 2823package utils; import java.io ... -
java使用ganymed-ssh2执行linux操作系统命令
2013-12-31 10:10 2072public static void main(Strin ... -
一个排好序的数组,找出两数之和为m的所有组合
2013-06-13 18:46 1545public static void main(Strin ... -
java中文API
2012-04-17 12:25 887http://www.oschina.net/home/api ... -
javase7官方API
2012-04-17 11:38 1134Java™ Platform, Standard Edit ... -
javase6中文API
2012-04-01 20:15 2502概述 软件包 类 使用 ... -
javase6官方API
2012-04-01 20:10 991Overview Package C ... -
java.util.concurrent官方API文档
2012-04-01 20:03 1958Overview Package C ... -
java.util.concurrent中文API
2012-04-01 19:45 1628概述 软件包 类 使用 ... -
java.util.concurrent介绍(转)
2012-04-01 19:33 1010本文由 cnblogs 博主 ... -
JDK6下开发WebService
2012-03-17 09:06 1577周末闲来无事,在家中复习了一下JDK6下开发WebServi ... -
日期正则表达式
2012-01-13 17:58 1136一、简单的 日期判断(YYYY/MM/DD):^\d{4 ... -
使用JAVA API上传文件到FTP服务器
2011-12-02 12:41 1212private void FtpUpload() throw ... -
Java发送邮件
2011-11-04 17:24 964import java.io.UnsupportedEncod ... -
使用JAVA API从FTP服务器下载文件
2011-11-04 16:28 1784import java.io.IOException; im ... -
Java读取Properties文件
2011-11-04 16:06 795使用J2SE API读取Properties文件的六种方法 ... -
java获取服务器IP
2011-10-27 12:04 1257java.net.InetAddress.getLocalHo ... -
java 获取真实客户端IP(转载)
2011-10-27 11:33 2257原文出处:http://jun-li-leo.iteye. ... -
JDBC连接字符串
2011-10-26 11:17 21421. MySQL Class.forName(&quo ... -
java中filter的用法
2011-10-19 11:45 994filter过滤器主要使用于前台向后台传递数据是的过滤操作。程 ...
相关推荐
在实际开发中,你可以通过以下步骤使用Apache POI来导入Excel数据: 1. **创建工作簿对象**:使用`WorkbookFactory.create()`方法,传入文件流或者文件路径来创建一个`Workbook`对象,代表整个Excel文件。 2. **...
POI导入Excel并返回校验后的错误文件(原样数据文件,并添加批注,注:由于批注只能加1000条,会在Excel后面添加一栏错误信息)下载以及页面展示校验错误信息,同时添加导入进度条,提供页面js和css代码,后端...
这篇博文链接虽然没有提供具体内容,但我们可以根据“java_poi导入excel”这个主题深入探讨Java POI库在Excel导入方面的应用。 首先,Java POI 提供了HSSF(用于老版本的BIFF格式,如.xls)和XSSF(用于新版本的...
在提供的文件列表中,"POI 导入Excel 提醒LeftoverDataException求帮助 - J2SE.htm"可能是对问题的详细描述或解决方案,而"POI 导入Excel 提醒LeftoverDataException求帮助 - J2SE_files"可能包含了相关的代码示例或...
在本项目中,我们结合了POI库和XML技术来实现Excel数据的验证与导入数据库。 首先,Apache POI提供了HSSF和XSSF两个API,分别用于处理老版本的BIFF8格式(.xls)和新版本的OOXML格式(.xlsx)。在这个案例中,我们...
### POI导入Excel表格数据小例子 #### 一、背景介绍 Apache POI 是一个用于读写 Microsoft Office 格式文件的 Java API,包括 Excel、Word 和 PowerPoint 等。本例通过 Apache POI 库将 Excel 文件中的数据导入到...
这个"java_poi导入excel通用工具类"是利用Java的POI库和一些额外的技术来实现对Excel数据的导入功能,使得开发人员能够方便地将Excel数据转化为Java对象或者对已有对象进行填充。下面我们将深入探讨相关的知识点。 ...
"java_poi导入excel通用工具类V0915" 提供了一种通用的方式来处理Excel数据的导入工作,它支持多种赋值方式,包括单个对象、列表对象以及指定坐标的赋值。 首先,让我们深入理解一下这个工具类的主要功能: 1. **...
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...
标题提到的“POI导入excel大数据处理”是指利用Apache POI进行大量Excel数据的导入操作,同时它兼容Excel 2003(.xls格式)和2007以上版本(.xlsx格式)的文件。 POI库的主要优点包括: 1. **多格式支持**:不仅...
总结起来,"SpringMvc+POI 导入Excel"是一个涵盖前端交互、后端处理、文件上传、数据读取、验证和保存等多个环节的综合技术实践。通过学习和掌握这些知识点,开发者可以有效地实现Web应用中的Excel数据导入功能,...
标题 "简单poi导入excel2003 与2007" 暗示了这个压缩包中的内容可能涉及使用Apache POI库来处理不同版本的Excel文件,主要是Excel 2003和2007。Apache POI是Java中广泛使用的库,用于读取和写入Microsoft Office格式...
标题 "ExtJS poi 导入excel" 涉及到两个主要技术:ExtJS 和 Apache POI,它们在Java环境中用于处理Excel数据。ExtJS 是一个JavaScript库,主要用于构建富客户端应用程序,而Apache POI是Java的一个开源项目,用于...
poi导入excel 兼容2003-2007兼容版本,测试可以成功;poi导入excel 兼容2003-2007兼容版本,测试可以成功;
2. **导入Excel**:读取本地Excel文件,解析Workbook,获取每个Sheet,再遍历Sheet中的Row和Cell。将读取到的数据转换为适合插入数据库的格式,通过MyBatis的SqlSession执行相应的INSERT语句,将数据存入MySQL数据库...
在导入Excel时,我们通常会创建一个Workbook对象,然后通过其工作表接口(Sheet)访问具体的单元格(Cell)。对于导出,我们需要创建一个新的Workbook,添加工作表,然后填充数据到相应的单元格中。 在描述中提到,...
在这个"poi导入excel的demo"中,我们将深入探讨如何使用Apache POI库来读取和写入Excel文件,支持.xls(BIFF8格式)和.xlsx(OOXML格式)这两种常见的Excel版本。 1. **Apache POI简介** Apache POI 是Java平台上...
总结来说,"SpringMvc+POI 导入Excel文件"这一主题涵盖了Web开发中几个关键的组件和技术。SpringMvc作为后端框架,处理HTTP请求并调用业务逻辑;Apache POI则提供了处理Excel文件的工具;而Jquery.form.js插件使得...
poi导入excel示例文件.xlsx
本篇文章将详细探讨如何使用POI库来导入Excel文件,并结合form表单提交的数据进行处理。我们将讨论以下几个核心知识点: 1. **Apache POI简介** Apache POI 是一个开源项目,它提供了API来处理Microsoft的Office...