- 浏览: 94113 次
- 性别:
- 来自: 大连
最新评论
-
u010145702:
而且为什么我再修改完时间后,重启一下服务器就可以执行了,求指教 ...
定时器介绍与Spring中定时器的配置 -
u010145702:
那如果我把系统时间修改了,定时器到指定时间为什么不执行任务啊? ...
定时器介绍与Spring中定时器的配置 -
xiangyufangai:
lzstone 写道huatu122 写道老东西了,前几年就会 ...
基于apache的tomcat负载均衡和集群配置 -
oujunfeng:
表述得很清晰,并有大量的实例代码,支持!
基于apache的tomcat负载均衡和集群配置 -
ka520888:
帅哥..我配置了.怎么APACHE启不了 请加我qq52219 ...
基于apache的tomcat负载均衡和集群配置
1、vo-》数据库表模型
public class POJO implements Serializable {
对应表的属性信息
}
2、DAO-》处理接口
public interface POJODAO {
public boolean POJOFromExcelToDataBase(业务参数);
}
2、Impl-》接口实现类
public class POJODAOImpl implements POJODAO {
private Connection conn = DataBase.getConnection();
public boolean POJOFromExcelToDataBase(业务参数) {
Statement sm = null;
ReadExcel readExcel = new ReadExcel(); //创建读取excel实例
try {
conn.setAutoCommit(false);
sm = conn.createStatement();
List<String> sqlList = readExcel.ReadExcelToSql(excelPath,+业务参数).getSql();//读取excel 返回SQL
for (String sql : sqlList) {
sm.addBatch(sql);
}
int[] successRun = sm.executeBatch();
if (successRun.length == sqlList.size()) {
conn.commit();
return true;
}else{
conn.rollback();
return false;
}
} catch (SQLException e) {
try {
conn.rollback();
return false;
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} finally {
try {
sm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return false;
}
}
3、读取Excel文件信息 返回制定的Sql集合
public class ReadExcel {
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
public SqlCollection ReadExcelToSql(String excelPath, +业务参数) {
SqlCollection sqlCollection = new SqlCollection();//创建封装sql的集合
sqlCollection.setTableName(POJO.class.getName());
Field[] fields = POJO.class.getDeclaredFields();
String ID;
String RCID = "000000000000000000000000000000";
String RCFIRST;
String RCKEEP = "000000000000000000000000000000";
StringBuffer write = new StringBuffer();
String argDate = format.format(new Date());
try {
Workbook workBook = Workbook.getWorkbook(new File(excelPath));
Sheet sheet = workBook.getSheet(0);
Cell cell = null;
int columns = sheet.getColumns();
int rows = sheet.getRows();
System.out.println("columns:" + columns + " rows:" + rows);
for (int row = 1; row < rows; row++) {
for (int column = 0; column < columns; column++) {
cell = sheet.getCell(column, row);
if (column == 0) {
RCFIRST = cell.getContents();
ID = UUID.randomUUID().toString();
if (null != RCFIRST && !"".equals(RCFIRST)) {
RCID = ID;
RCKEEP = RCFIRST;
write.append("row:").append(row).append(" ")
.append(RCKEEP);
}
sqlCollection.addData(fields[0].getName(), ID);
sqlCollection.addData(fields[1].getName(), RCID);
sqlCollection.addData(fields[2].getName(), registerID);
sqlCollection.addData(fields[3].getName(), baseID);
sqlCollection.addData(fields[4].getName(), courseID);
sqlCollection.addData(fields[5].getName(), argDate);
sqlCollection.addData(fields[6].getName(), String.valueOf(row));
sqlCollection.addData(fields[7].getName(), RCID);
sqlCollection.addData(fields[8].getName(), RCKEEP);
} else {
String arg0;
arg0 = (null == cell.getContents()
|| "".equals(cell.getContents()) ? "#" : cell
.getContents());
System.out.println("column = "+column);
System.out.println(fields[column + 8].getName());
sqlCollection.addData(fields[column + 8].getName(),
arg0);
write.append(" ").append(arg0);
}
}
sqlCollection.addSql();
System.out.println(write.toString());
write = new StringBuffer("");
}
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sqlCollection;
}
4、将Excel读取出来的信息进行封装成SQL语句
public class SqlCollection implements Serializable {
private List<String> sql = null;
private Map<String, String> dataKT = null;
private String tableName;
public List<String> getSql() {
if (null == sql || sql.isEmpty())
return null;
return sql;
}
public void addSql() {
if (null == sql || sql.isEmpty()) {
sql = new ArrayList<String>();
}
sql.add(this.toString());
dataKT.clear();
}
public void addData(String columnData, String data) {
if (null == dataKT) {
dataKT = new LinkedHashMap<String, String>();
}
dataKT.put(columnData, data);
}
public void setTableName(String tableName) {
int beginIndex = tableName.lastIndexOf(".");
this.tableName = tableName.substring(beginIndex+1);
}
public String toString() {
StringBuffer sqlData = new StringBuffer();
StringBuffer columnData = new StringBuffer();
StringBuffer data = new StringBuffer();
sqlData.append("insert into ").append(this.tableName);
columnData.append(" (");
data.append(" values('");
Iterator<Entry<String, String>> it = dataKT.entrySet().iterator();
while(it.hasNext()){
Entry<String, String> entry = it.next();
if(it.hasNext()){
columnData.append(entry.getKey()).append(",");
data.append(entry.getValue()).append("','");
}else{
columnData.append(entry.getKey()).append(")");
data.append(entry.getValue()).append("')");
}
}
sqlData.append(columnData).append(data);
return sqlData.toString();
}
public String builderSql(List<POJO> rcs){
StringBuffer sql = new StringBuffer("select * from POJO-》表名称 where 1<>1");
return sql.toString();
}
}
发表评论
-
使用jconsole远程监控linux下tomcat使用情况
2014-03-25 10:29 854JDK 64位 tomcat catalina.s ... -
图片等比压缩
2011-04-15 14:23 1529好久没有写博客了,最近遇到一个有意思的问题就是需要动态的将用户 ... -
JavaMail发送邮件具有附件功能
2010-08-13 12:25 1294protected void doPost( ... -
iBATIS3中管理SqlSession类
2010-05-26 14:36 5078public class IbatisSessionFacto ... -
基于apache的tomcat负载均衡和集群配置
2010-05-26 14:29 5749基于apache的tomcat负载均衡和集群配置 1】 下 ... -
常用的时间方法DateUtil
2010-05-17 15:40 1612import java.text.*; import jav ... -
定时器介绍与Spring中定时器的配置
2010-04-27 16:33 71391定时器的作用 在实际的开发中,如果项目中需要定时执行或 ... -
struts2的配置文件global-results注意事项
2010-04-10 11:09 14391struts.xml <struts> ... -
struts2中default.properties说明
2010-04-09 13:23 25391、struts.configuration=org.apac ... -
防止页面刷新产生二次提交的Token
2010-03-19 10:11 27941、自己感觉strut1的Token不是很好用,也许是我没有用 ... -
java利用list写分页
2010-03-19 10:04 26051、分页的属性模型 public class PageVo ... -
获取时间日期
2010-03-19 09:59 920private static final String[] w ... -
java对zip文件进行解压并取出文件的名称
2010-03-19 09:02 17051、先用JDK的类进行ZIP文 ... -
同为mssql的驱动jar差别怎么那么大呢
2010-03-15 12:38 1363现在java连接sql server数据库流行的 ... -
proxool的配置方法
2010-03-13 18:32 1720因为工作需要进行proxool链接sql ... -
钟爱apache的我,dbcp让我伤心
2010-03-13 16:53 1795从知道tomcat开始我就对apac ... -
让tomcat 输出详细的错误信息
2010-03-12 13:56 7892当项目中加入一些框架的时候,例如hibernate,s ... -
在java中对文件夹的拷贝和删除
2010-03-12 10:56 1497在java中对文件与文件目录的操作主要集中在java.io包, ... -
java 调用sql server 2000 存储结构进行数据库的备份与恢复
2010-03-12 10:47 1332熟悉Java的程序员一看标题感觉会很彪,java与sql se ... -
利用spring+hibernate配置dbcp连接池配置的异常解析
2010-03-12 10:34 5820利用spring+hibernate配置dbcp连接池配置过程 ...
相关推荐
在Java编程环境中,处理Excel文件是一项常见的任务,而JXL库提供了一个简洁的API来实现这一功能。JXL是一个开源的Java库,专门用于读取和写入Microsoft Excel文件(.xls格式)。在这个示例中,我们将深入探讨如何...
Java中的JXL库是一个广泛使用的库,用于读取和写入Microsoft Excel文件。这个库使得在Java应用程序中处理Excel数据变得简单,而无需依赖于Microsoft Office。以下是对JXL库在进行Excel读写操作时的一些关键知识点的...
Java Excel API(简称JXL)是一个开源库,用于在Java应用程序中读取和写入Microsoft Excel文件。这个库提供了一种方便的方式来处理Excel数据,而无需依赖Microsoft Office套件。在Android开发中,JXL可以帮助我们...
根据压缩包子文件的文件名称“Spring13JXL”,我们可以推断这个压缩包可能包含了一个Spring框架的示例项目,项目中使用了JXL库来处理Excel。Spring是一个广泛使用的Java应用框架,它提供了一种模块化和可测试的开发...
总的来说,jxl是一个强大的工具,适用于需要在Java应用中生成或处理Excel文件的场景,特别是需要基于模板动态生成复杂报表的情况。通过学习和掌握jxl库,开发者能够高效地处理Excel数据,提升工作效率。
Java中的JXL库是一个非常实用的工具,它允许开发者在应用程序中读取、写入和修改Excel文件。这个库特别适合那些需要处理大量数据并希望将数据格式化为表格的项目。下面我们将深入探讨JXL库在Java Excel解析中的应用...
Java编程语言提供了多种库来处理Excel文件,其中jxl是一个广泛使用的开源库,它使得在Java应用程序中读取和写入Excel文件变得简单。本文将详细介绍如何使用jxl库进行Excel文件的读写操作,以及适合初学者的关键知识...
这个示例程序包含了一个名为"Jxl读写Excel例子demo.jxl.jar"的库文件,它是JXL库的实现,可以集成到Java项目中以处理Excel文件。 JXL库提供了一系列接口和类,使开发人员能够以编程方式与Excel工作表进行交互。以下...
总结来说,jxl是Java开发者处理Excel文件的利器,它提供了全面的API,能够满足大多数Excel操作需求。通过熟练掌握jxl,开发者可以轻松地在Java应用程序中实现数据的导入导出,提升工作效率。在实际项目中,根据具体...
JXL库是一个广泛使用的开源库,它允许开发者在Java应用程序中方便地读取和写入Excel文件。本篇将详细介绍如何使用JXL进行Excel的读写操作,并提供一个在MyEclipse环境中可以直接运行的示例代码。 首先,你需要在...
JXL库(Java Excel API)是一个开源项目,专门用于处理Excel文件。它支持多种操作,包括创建新的工作簿、读取现有工作簿、修改单元格内容、设置样式以及处理公式等。JXL库具有轻量级、易于理解和使用的特性,使得...
总的来说,JXL是Java开发人员处理Excel文件的一个强大工具,它的易用性和丰富的功能使得Excel数据的读取和操作变得更加简单。通过熟练掌握JXL库,你可以轻松地将Excel数据集成到Java应用程序中,无论是进行数据分析...
JXL是一个开源的Java库,专门用于读写Microsoft Excel文件,它提供了丰富的API,方便我们在程序中处理Excel。 首先,让我们了解一下JXL的基本用法。要使用JXL,你需要下载jxl.jar文件,并将其添加到项目的类路径中...
在IT行业中,处理数据时,...总结,jxl库为Java开发者提供了一种强大的工具,用于处理Excel文件。通过学习和掌握jxl库的使用,你可以轻松地在Java应用程序中实现Excel数据的读取、写入和格式控制,从而提升工作效率。
Java使用JXL库生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们...JXL提供了广泛的API来处理各种复杂的Excel操作,是Java环境下生成Excel文件的一个实用工具。
总结一下,`jxl`库是一个强大且灵活的工具,用于Java中处理Excel文件。通过下载并引入`jxl.jar`,你可以在Java项目中轻松地读取和写入Excel数据。结合示例代码`Test.java`,可以快速掌握基本的Excel操作,从而实现更...
jxl实现的excel处理程序 jxl实现的excel处理程序jxl实现的excel处理程序 jxl实现的excel处理程序 jxl实现的excel处理程序 jxl实现的excel处理程序
在Java编程环境中,有时我们...总之,jxl是一个强大的Java库,它使我们在Java环境中处理Excel文件变得简单。通过上述代码示例,你已经掌握了基本的读取操作。继续探索jxl的其他功能,你将能够完成更多复杂的Excel任务。
标题中的“jxl导出excel”指的是使用...总的来说,jxl是一个强大的工具,可以方便地在Java应用程序中与Excel文件交互。通过熟练掌握其API和使用方法,你可以创建复杂的Excel报告,满足各种数据分析和展示的需求。