• 大小: 12.67MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-26
  • 语言: 其他
  • 标签:

资源简介

该小项目使用hibernate和spring及IO流实现对Excel文档的读写,希望对大家有帮助!

资源截图

代码片段和文件信息

package main;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathxmlApplicationContext;

import net.cstp.hibernate.pojo.Users;

import net.cstp.service.UserService;
import net.cstp.serviceimpl.UserServiceImpl;
/**
 * 测试类
 * @author xujiwei
 * @version 1.0
 */
public class Main {

//
public static void main(String[] args) throws BiffException IOException {
AbstractApplicationContext context=new ClassPathxmlApplicationContext(new String[]{“applicationContext.xml““applicationContext_db.xml“});
UserService userServiceImpl=(UserService)context.getBean(“userServiceImpl“);

FileInputStream is = null;
Workbook wb = null;
//String phone=“139012471601“;
//设置从第几行开始读取,此处根据实际表格设定
  int ROW_HEAD_COUNT =0;

  try {
  //File file=new File(“G://奥莱调查问卷信息收集3月16-3月18.xls“);
  is = new FileInputStream(new File(“G://测试.xls“));

   wb = Workbook.getWorkbook(is);
   //获取工作项
   String[] sheetNames = wb.getSheetNames();
   /*
    * 获取所要操作的工作项,在此项目中使用“联系信息”工作项
    */
   Sheet rs = wb.getSheet(sheetNames[2]);
   //获取行数
   int rowCount = rs.getRows();
   //此处设置录入的最大行数
   if(rowCount>5000){
   System.out.println(“记录大于5000无法导入“);;
   }

   for(int row = ROW_HEAD_COUNT; row < rowCount; row++){
   try {
//从第一栏开始读取数据
Cell[] rowData = rs.getRow(row);
//姓名
String username = rowData[0].getContents();
//手机号码
String phone = rowData[1].getContents();
//email
String email = rowData[2].getContents();
//部门
String dept = rowData[3].getContents();
//性别
String sex = rowData[4].getContents();
//rank
String rank = rowData[5].getContents();

//组装生成用户对象
Users user = new Users();
user.setUsername(username);
user.setPhone(phone);
user.setEmail(email);
user.setProf(dept);
user.setSex(sex);
user.setRank(rank);
System.out.println(user.toString());
//判断数据库中是否存在该用户
boolean flag = userServiceImpl.queryUser(user);
System.out.println(flag+“----------------------------------------------------------------------“);
if(flag){
System.out.println(“改用户已经存在,请勿重复插入!“);
 }else{
//将数据插入数据库中
userServiceImpl.insertService(user);
}
/**
 * 附:查询时,因为你用uuid做主键,所以按ID查询不会存在重复数据
 * 如此这样,查询是只能是按条件查询剔除重复数据
 * 例如:Select * from pcds_aolai_invest_userinfo where username = user.getUserName() and phone = user.getPhone and email = user.getEmail;
 *
 *
 * 另一种思路:
 *  用户的手机号码和邮箱如果是必填字段,可以考虑使用此两个字

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-04-12 23:37  writeexcel\
     文件        1970  2012-04-12 23:37  writeexcel\.classpath
     目录           0  2012-04-12 23:37  writeexcel\.myeclipse\
     文件         303  2012-04-15 01:00  writeexcel\.mymetadata
     文件        1012  2012-04-12 23:37  writeexcel\.project
     目录           0  2012-04-12 23:37  writeexcel\.settings\
     文件         180  2012-04-12 23:37  writeexcel\.settings\org.eclipse.core.resources.prefs
     文件         629  2012-04-15 01:12  writeexcel\ReadMe.txt
     目录           0  2012-04-12 23:37  writeexcel\src\
     文件         764  2012-04-12 23:37  writeexcel\src\applicationContext.xml
     文件        2639  2012-04-12 23:42  writeexcel\src\applicationContext_db.xml
     目录           0  2012-04-12 23:37  writeexcel\src\main\
     文件        4088  2012-04-15 01:07  writeexcel\src\main\Main.java
     目录           0  2012-04-12 23:37  writeexcel\src\net\
     目录           0  2012-04-12 23:37  writeexcel\src\net\cstp\
     目录           0  2012-04-12 23:37  writeexcel\src\net\cstp\dao\
     目录           0  2012-04-12 23:37  writeexcel\src\net\cstp\daoimpl\
     文件        2849  2012-04-15 01:08  writeexcel\src\net\cstp\daoimpl\UserDaoImpl.java
     文件         373  2012-04-15 01:08  writeexcel\src\net\cstp\dao\UserDao.java
     目录           0  2012-04-12 23:37  writeexcel\src\net\cstp\hibernate\
     目录           0  2012-04-12 23:37  writeexcel\src\net\cstp\hibernate\pojo\
     文件        1056  2012-04-12 23:37  writeexcel\src\net\cstp\hibernate\pojo\hibernate.user.xml
     文件         768  2012-04-15 01:09  writeexcel\src\net\cstp\hibernate\pojo\Text.java
     文件        1270  2012-04-15 01:10  writeexcel\src\net\cstp\hibernate\pojo\Users.java
     目录           0  2012-04-12 23:37  writeexcel\src\net\cstp\service\
     目录           0  2012-04-12 23:37  writeexcel\src\net\cstp\serviceimpl\
     文件        1594  2012-04-15 01:11  writeexcel\src\net\cstp\serviceimpl\UserServiceImpl.java
     文件         450  2012-04-15 01:10  writeexcel\src\net\cstp\service\UserService.java
     目录           0  2012-04-12 23:37  writeexcel\WebRoot\
     文件         834  2012-04-12 23:37  writeexcel\WebRoot\index.jsp
     目录           0  2012-04-12 23:37  writeexcel\WebRoot\meta-INF\
............此处省略46个文件信息

评论

共有 条评论

相关资源