- 浏览: 112109 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
qiqibaba1990:
JAVA与JS的数据交互 -
月氏城下:
为什么是5个,不是9个吗?
JSP五大内置对象 -
mida:
有点文字时不时更好了。
JAVA与JS的数据交互 -
pxx199248:
收藏楼,不错
常用JS驗證
/** * 導入文件(excel) * @author dingyuanwei * @param path 路徑+檔名 * @param line 從第幾欄開始(写出的Excel) 从0开始算起 * @param rowLen 到第几列结束 从1开始算起 * @param atRow 从第几行开始写(写入的Excel) 从0开始算起 * @return list 返回一个包含行的LIST对象记录 * @return inputStream 将excel进行流化 * @throws Exception * 解析Excel文件 */ public static List<Object> importData(InputStream inputStream,int atRow, int line, int rowLen) throws Exception{ List<Object> tmpList = new ArrayList<Object>(); POIFSFileSystem pfs = new POIFSFileSystem(inputStream); HSSFWorkbook wb = new HSSFWorkbook(pfs); HSSFSheet sheet = wb.getSheetAt(0);//第0索引文件解析 HSSFRow row = null; try{ int totalRow = sheet.getLastRowNum(); //excel資料行數 if(totalRow>0){ //判斷excel是否為空 for(int i = atRow ; i <=totalRow; i++){ List<Object> rowList = new ArrayList<Object>(); row = sheet.getRow(i); if(row!=null){ //判断行是否为空 for(int j = line; j < rowLen; j++){ HSSFCell cell = row.getCell((short) j); if(cell == null){ //判断列是否为空 rowList.add(""); }else{ int ctype = cell.getCellType(); switch(ctype){ // 處理string部份 case HSSFCell.CELL_TYPE_BLANK: rowList.add(""); break; case HSSFCell.CELL_TYPE_STRING: rowList.add(cell.getRichStringCellValue().getString().trim()); break; //處理number部份 case HSSFCell.CELL_TYPE_NUMERIC: if (HSSFDateUtil.isCellDateFormatted(cell)) { // 是否為日期型 System.out.print( cell.getDateCellValue()); //須轉date格式 rowList.add(cell.getDateCellValue()); }else{ double tmpdouble = cell.getNumericCellValue(); if(tmpdouble - (int)tmpdouble < Double.MIN_VALUE) { //int rowList.add(Integer.toString((int)tmpdouble)); }else{ //double rowList.add(Double.toString(cell.getNumericCellValue())); } } break; //處理boolean部份 case HSSFCell.CELL_TYPE_BOOLEAN: rowList.add(cell.getBooleanCellValue()); break; } } } tmpList.add(rowList);//加入每一行,行中又包含单元格字段 } } } }catch(Exception e){ e.printStackTrace(); throw e; } return tmpList;//所有的行 } public static void main(String[] args) throws FileNotFoundException, Exception { List a = importData(new FileInputStream("E:\\项目需求\\華文網開發需求\\example.xls"),1,0,5); List parseData; List resultResult = new ArrayList(); List successData = new ArrayList(); int s = 0; int f = 0; try { parseData = ExcelUtil .importData( new FileInputStream("E:\\项目需求\\華文網開發需求\\example.xls"), 1, 0, 5); for (int i = 0; i < parseData.size(); i++) { List tempResult = (List) parseData.get(i); boolean tfFalse = false;//標志成功或失敗 Pattern p = Pattern.compile("[1-9]\\d*");//是否是正整數表達式 TeachreSource ts = new TeachreSource(); for (int j = 0; j < tempResult.size(); j++) { String temp = ""; switch (j) { case 0: temp = tempResult.get(0).toString(); // *教學資源類別ID if("".equals(temp)){ tfFalse = false; }else if(!p.matcher(temp.trim()).matches()){ tfFalse = false;//是否是正整數 }else{ tfFalse = true; } break; case 1: //temp = tempResult.get(1).toString(); //教學資源類別 tfFalse = true; break; case 2: temp = tempResult.get(2).toString();//*商品名稱 if("".equals(temp)){ tfFalse = false; }else{ tfFalse = true; } break; case 3: temp = tempResult.get(3).toString();//冊次 if("".equals(temp)){ tfFalse = true; }else if(!p.matcher(temp.trim()).matches() || Integer.parseInt(temp) > 99){ tfFalse = false; }else{ tfFalse = true; } break; case 4: temp = tempResult.get(4).toString();//*路徑 File file1=new File(temp.trim()); if(file1.isFile()){ tfFalse = true; }else{ tfFalse = false; } break; } if(!tfFalse){ break;//中斷循環 } } if(tfFalse){ successData.add(ts);//加入的數據 s ++; }else{ f ++; } } resultResult.add(s); resultResult.add(f); } catch (Exception e) { e.printStackTrace(); } System.out.println(a); }
package com.tkb.post.action.admin; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.util.ArrayList; import java.util.Iterator; 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.poifs.filesystem.POIFSFileSystem; import com.sun.org.apache.bcel.internal.generic.Select; public class importExcel { public static List<Object> importData(InputStream inputStream,int atRow, int line, int rowLen) throws Exception{ List<Object> tmpList = new ArrayList<Object>(); POIFSFileSystem pfs = new POIFSFileSystem(inputStream); HSSFWorkbook wb = new HSSFWorkbook(pfs); HSSFSheet sheet = wb.getSheetAt(2);//第2索引文件解析 EB_VIEW_ORG HSSFRow row = null; try{ int totalRow = sheet.getLastRowNum(); //excel資料行數 if(totalRow>0){ //判斷excel是否為空 for(int i = atRow ; i <=totalRow; i++){ List<Object> rowList = new ArrayList<Object>(); row = sheet.getRow(i); if(row!=null){ //判断行是否为空 for(int j = line; j < rowLen; j++){ HSSFCell cell = row.getCell((short) j); if(cell == null){ //判断列是否为空 rowList.add(""); }else{ int ctype = cell.getCellType(); switch(ctype){ // 處理string部份 case HSSFCell.CELL_TYPE_BLANK: rowList.add(""); break; case HSSFCell.CELL_TYPE_STRING: rowList.add(cell.getRichStringCellValue().getString().trim()); break; //處理number部份 case HSSFCell.CELL_TYPE_NUMERIC: if (HSSFDateUtil.isCellDateFormatted(cell)) { // 是否為日期型 System.out.print( cell.getDateCellValue()); //須轉date格式 rowList.add(cell.getDateCellValue()); }else{ double tmpdouble = cell.getNumericCellValue(); if(tmpdouble - (int)tmpdouble < Double.MIN_VALUE) { //int rowList.add(Integer.toString((int)tmpdouble)); }else{ //double rowList.add(Double.toString(cell.getNumericCellValue())); } } break; //處理boolean部份 case HSSFCell.CELL_TYPE_BOOLEAN: rowList.add(cell.getBooleanCellValue()); break; } } } tmpList.add(rowList);//加入每一行,行中又包含单元格字段 } } } }catch(Exception e){ e.printStackTrace(); throw e; } return tmpList;//所有的行 } /** * @param args * @throws Exception * @throws FileNotFoundException */ public static void main(String[] args) throws FileNotFoundException, Exception { String sql = ""; List a = importData(new FileInputStream("D:\\1.xls"),1,0,5); for(int i=0;i<a.size();i++){ List b = (List)a.get(i); sql += "insert into eb_view_org(nodeID,parentNodeId,supervisorUserPK,twTitle,twTitlePath,nodePath,isExist) values("; for (int j = 0; j < b.size(); j++) { sql += "'"+ b.get(j)+"'"; } sql +=");"; } System.out.println(sql); } }
发表评论
-
java.lang.OutOfMemoryError: Java heap space 解决方法
2012-09-25 14:40 889java.lang.OutOfMemoryError: ... -
单例模式
2012-09-13 17:26 789概念: java中单例模 ... -
设计模式
2012-09-13 17:25 757设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有 ... -
小数点
2012-08-27 16:46 839保留两位小数{方法一:{ double c=3.154 ... -
计时器2
2012-08-21 13:48 928Timer类是用来执行 ... -
ngnix.conf配置
2012-07-18 09:20 849# 开多少进程 worker_processes 2; ... -
多维数组
2012-07-12 10:32 738java语言中,数组是一种 ... -
取得下一年时间
2012-07-05 16:16 769Calendar cal = Calendar.get ... -
JSP五大内置对象
2012-07-04 16:00 1385一、Request对象方法 ... -
反射机制学习
2012-05-31 10:50 671JAVA语言中的反射机制: 在Java 运行时 环 ... -
class生成jar包
2012-05-23 16:10 896进入dos操作符窗口 cd进入要打成jar包的class文件 ... -
读取src下properties配置
2012-05-09 10:42 745try { String path = getClas ... -
ibatis与hibernate的区别
2012-04-25 09:14 778Hibernate简介Hibernate是一个开放源代码的对象 ... -
iBATIS教程之快速入门浅析
2012-04-24 17:01 705iBATIS教程要从iBATIS的概 ... -
tomcat外部启动项目
2012-04-13 15:12 898server.xml <Context pa ... -
防止跨域提交表单
2012-04-11 14:47 859public static boolean validate( ... -
Excel操作 >> 导出
2012-04-09 15:25 1179ExcelBean.java public class Ex ... -
計時器
2012-03-31 17:28 773所有类型的 Java 应用程序一般都需要计划重复执行的任务。企 ... -
根据url读取数据并解析(json)
2012-03-30 16:23 1162/** * @param args * @thro ... -
取URL对应的资源
2012-03-30 15:57 777认识IP、认识URL是进行网络编程的第一步。java.net. ...
相关推荐
在QT编程中,高效地导入和导出Excel数据并将其显示在`tableWidget`中是一项常见的需求。这里我们将深入探讨如何实现这一功能,以及优化性能的方法。QT是一个跨平台的应用程序开发框架,提供了丰富的GUI组件,`...
下面将详细讲解如何在winform中实现对Excel的导入和导出操作,并指定导入及导出路径。 一、Excel导入操作 1. 引用库:首先,你需要在项目中引用Microsoft.Office.Interop.Excel库,这允许你通过.NET Framework与...
本例子将介绍如何在JSP中利用POI库来实现Excel数据的导入功能。 首先,我们需要在项目中引入Apache POI的相关依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.apache....
这样,填报页面上就会出现导入按钮,使得操作者可以方便地导入Excel数据。需要注意的是,这些设置仅在当前模板中生效。如果希望设置能够对整个服务器上的所有模板有效,则需要在服务器配置中进行相应的设置。 第二...
在 PowerCenter Designer 中,打开源->从数据库导入,在数据源中选择 Excel 驱动,配置数据源->系统 DSN->添加->输入数据源驱动名称->选择需要导入的 Excel 文件。最后确定,选择 Excel 驱动,选择之前定义的范围。 ...
"Jeecg导入Excel"功能是Jeecg框架中的一个重要特性,允许用户通过上传Excel文件来批量导入数据到系统中,极大地提高了数据录入的效率。下面将详细介绍这一功能及其相关知识点。 1. **Excel导入原理**: Jeecg框架...
"C# Excel导入出错解决办法" 在ASP.NET项目开发过程中,经常需要进行数据处理,Oracle数据库和Microsoft Excel在数据处理过程中经常使用到。Oracle数据库可以处理大量数据,无论性能和坚固性都是非常好的数据库...
在前端开发中,Web Excel导入是一项常见的需求,它允许用户在网页上直接上传Excel文件,以便进行数据的读取、处理或展示。这项技术对于数据分析、报表制作等场景尤为重要。以下将详细介绍实现Web Excel导入涉及的...
本主题将详细探讨如何使用C#实现从Excel文件导入数据到ListView控件,以及如何将ListView中的数据导出回Excel文件。这两个操作在数据分析、报表生成和数据管理等场景中非常常见。 首先,要导入Excel文件到ListView...
通过这种方式,Jxls可以帮助我们高效地完成数据导入Excel的任务,避免了手动操作Excel的繁琐过程。同时,由于模板和数据分离,使得模板设计更灵活,也更容易维护。总的来说,Jxls是Java开发中处理Excel数据导入导出...
本文将深入解析这一操作的具体步骤、注意事项以及潜在的错误处理机制,为IT专业人士提供一个全面的PB9 Excel导入指南。 ### 一、PB9与Excel交互原理 在PB9中实现Excel文件导入主要依赖于OLE (Object Linking and ...
而Microsoft.Office.Interop.Excel是微软提供的COM互操作组件,可以直接调用Office应用程序接口来操作Excel,但需要Excel安装在运行环境中。 例如,使用NPOI读取Excel数据的基本流程如下: 1. 引入NPOI库。 2. ...
在C#编程中,处理Excel数据的导入是一项常见的任务,特别是在数据处理、数据分析或系统集成等领域。本主题将深入探讨如何在C#中实现对Excel 2003和2007两种不同版本文件的支持,包括数据读取、转换以及可能遇到的...
假设我们有一个名为"药品导入"的Excel文件,我们要将其数据导入到另一个Excel文件中,可以按照以下步骤操作: 1. 定位数据范围:找到源数据所在的单元格范围,比如`Dim sourceRange As Excel.Range = worksheet....
然而,当需要将大量数据从Excel导入到数据库时,手动操作不仅耗时,还容易出错。本篇文章将详细讲解如何实现“Excel批量导入数据库”,以及利用小工具提高效率。 一、Excel与数据库的交互原理 Excel数据批量导入...
总的来说,C#中实现Excel导入SQLite的过程涉及文件I/O、数据库操作、异常处理和UI交互等多个方面,这些知识点对于C#开发者来说都是基础且重要的技能。通过以上介绍,你应该能够理解如何在自己的项目中实现类似的功能...
PLSQL Developer是一款专为Oracle数据库设计的集成开发环境,它提供了一套全面的工具来方便数据库管理员和开发者进行各种操作,包括数据导入。本教程将详细讲解如何使用PLSQL Developer导入Excel表格数据。 首先,...
SpringBoot+AntDesignVue 实现 Excel 导入功能 在本篇文章中,我们将介绍如何使用 SpringBoot 和 AntDesignVue 实现 Excel 导入功能。这个功能主要是使用 Ant Design Vue 中的 upload 组件来实现导入 excel 文件的...
### Excel导入数据到Oracle数据库详解 #### 一、前言 在日常工作中,我们经常会遇到需要将Excel中的数据批量导入到Oracle数据库的情况。...希望本文能帮助大家更好地理解和掌握Excel导入Oracle数据库的操作流程。