- 浏览: 139549 次
- 性别:
- 来自: 北京
文章分类
package com.longtuo.client.action.admin.job;
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
//加入自己的类
import *.*;
/**
* 媒体数据导入
*
* @author xjmfc
*
*/
public class ImportMediaAction extends BaseAction {
/**
*
*/
private static final long serialVersionUID = 1L;
private File newsFile = null;
private String savePath = null;
private String contentType = null;
private String fileName = null;
private JobService jobService = null;
private UserInfoService userInfoService = null;
private String type = null;
public JobService getJobService() {
return jobService;
}
public void setJobService(JobService jobService) {
this.jobService = jobService;
}
public String getNewsFileContentType() {
return contentType;
}
public void setNewsFileContentType(String contentType) {
this.contentType = contentType;
}
public String getNewsFileFileName() {
return fileName;
}
public void setNewsFileFileName(String fileName) {
this.fileName = fileName;
}
public File getNewsFile() {
return newsFile;
}
public void setNewsFile(File newsFile) {
this.newsFile = newsFile;
}
public String getSavePath() {
return savePath;
}
public void setSavePath(String savePath) {
this.savePath = savePath;
}
private List<MediaMeta> getList(Sheet sheet, int rowCount, int columnCount) throws Exception {
UserInfo user = null;
Media media=null;
MediaMeta mmeta=null;
List<MediaMeta> lst = new ArrayList<MediaMeta>();
for (int i = 0; i < rowCount; i++) {
if (i == 0) {
continue;
}
user = new UserInfo();
mmeta=new MediaMeta();
media=new Media();
user.setLoginTimes(ATTMedia.DEFAULT_LOGINTIME);
user.setStatus(ATTUserInfo.STATUS_USER_DEFAULT);
user.setCate("m");
user.setRoleId("200");
user.setCreateDate(new Date());
media.setCreateDate(new Date());
media.setDownloadTimes(ATTMedia.DEFAULT_DOWNLOADTIME);
media.setLev(ATTMedia.LEVEL_DEFAULT_MEDIA);
media.setCreateDate(new Date());
user.setStatus("0");
user.setPasswd(new MD5Util().getMD5ofStr("000000"));
// 1用户名 2.邮箱 3.名称 4.媒体类型 5,6 省市 7.真实姓名 8. 9.电话
String province=null;
for (int j = 0; j < columnCount; j++) {
Cell cell = sheet.getCell(j, i);
switch (j) {
case 0:
user.setUserName(cell.getContents());
break;
case 1:
user.setEmail(cell.getContents());
break;
case 2:
media.setMName(cell.getContents());
break;
case 3:
if (cell.getContents().indexOf("平面") != -1) {
media.setRangs("001001");
} else if (cell.getContents().indexOf("影视媒体") != -1) {
media.setRangs("001002");
} else if (cell.getContents().indexOf("网络") != -1) {
media.setRangs("001003");
}else if(cell.getContents().indexOf("其他")!=-1){
media.setRangs("001004");
}else{
media.setRangs("001004");
}
break;
case 4:
province =cell.getContents();
break;
case 5:
media.setAddress(province+cell.getContents());
province = null;
break;
case 6:
user.setRealName(cell.getContents());
media.setName(cell.getContents());
break;
case 7:
break;
case 8:
if(cell.getContents().indexOf("1") != -1){
media.setPhone(cell.getContents());
}else{
media.setMobile(cell.getContents());
}
break;
case 9:
break;
case 10:
break;
case 11:
media.setPosition(cell.getContents());
break;
default:
break;
}
mmeta.setMedia(media);
mmeta.setUser(user);
}
lst.add(mmeta);
}
return lst;
}
private boolean saveImportData(File ioFile) throws Exception {
int rowCount = 0;
int columnCount = 0;
Workbook workbook = Workbook.getWorkbook(ioFile);
Sheet sheet = workbook.getSheet(0);
rowCount = sheet.getRows();
columnCount = sheet.getColumns();
if (rowCount == 0) {
this.addFieldError("importError", "您导入的文件没数据");
return false;
}
List<MediaMeta> lstMedia = getList(sheet, rowCount, columnCount);
for (MediaMeta meta : lstMedia) {
userInfoService.saveMediaInfo(meta);
}
return false;
}
public String execute() throws Exception {
UserInfo user = this.getUser();
if (user == null) {
return ATTSystem.LOGIN;
}
if (newsFile != null) {
if (saveImportData(newsFile)) {
if (this.getFieldErrors().isEmpty()) {
if (type.equals(ATTJob.SOC_POSITION)) {
this.setAttr("_status", "社会职位批量导入数据成功!");
this.setAttr("type", type);
return SUCCESS;
} else if (type.equals(ATTJob.STU_POSITION)) {
this.setAttr("_status", "学生职位批量导入数据成功!");
this.setAttr("type", type);
return SUCCESS;
}
}
}
}
return INPUT;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public UserInfoService getUserInfoService() {
return userInfoService;
}
public void setUserInfoService(UserInfoService userInfoService) {
this.userInfoService = userInfoService;
}
}
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
//加入自己的类
import *.*;
/**
* 媒体数据导入
*
* @author xjmfc
*
*/
public class ImportMediaAction extends BaseAction {
/**
*
*/
private static final long serialVersionUID = 1L;
private File newsFile = null;
private String savePath = null;
private String contentType = null;
private String fileName = null;
private JobService jobService = null;
private UserInfoService userInfoService = null;
private String type = null;
public JobService getJobService() {
return jobService;
}
public void setJobService(JobService jobService) {
this.jobService = jobService;
}
public String getNewsFileContentType() {
return contentType;
}
public void setNewsFileContentType(String contentType) {
this.contentType = contentType;
}
public String getNewsFileFileName() {
return fileName;
}
public void setNewsFileFileName(String fileName) {
this.fileName = fileName;
}
public File getNewsFile() {
return newsFile;
}
public void setNewsFile(File newsFile) {
this.newsFile = newsFile;
}
public String getSavePath() {
return savePath;
}
public void setSavePath(String savePath) {
this.savePath = savePath;
}
private List<MediaMeta> getList(Sheet sheet, int rowCount, int columnCount) throws Exception {
UserInfo user = null;
Media media=null;
MediaMeta mmeta=null;
List<MediaMeta> lst = new ArrayList<MediaMeta>();
for (int i = 0; i < rowCount; i++) {
if (i == 0) {
continue;
}
user = new UserInfo();
mmeta=new MediaMeta();
media=new Media();
user.setLoginTimes(ATTMedia.DEFAULT_LOGINTIME);
user.setStatus(ATTUserInfo.STATUS_USER_DEFAULT);
user.setCate("m");
user.setRoleId("200");
user.setCreateDate(new Date());
media.setCreateDate(new Date());
media.setDownloadTimes(ATTMedia.DEFAULT_DOWNLOADTIME);
media.setLev(ATTMedia.LEVEL_DEFAULT_MEDIA);
media.setCreateDate(new Date());
user.setStatus("0");
user.setPasswd(new MD5Util().getMD5ofStr("000000"));
// 1用户名 2.邮箱 3.名称 4.媒体类型 5,6 省市 7.真实姓名 8. 9.电话
String province=null;
for (int j = 0; j < columnCount; j++) {
Cell cell = sheet.getCell(j, i);
switch (j) {
case 0:
user.setUserName(cell.getContents());
break;
case 1:
user.setEmail(cell.getContents());
break;
case 2:
media.setMName(cell.getContents());
break;
case 3:
if (cell.getContents().indexOf("平面") != -1) {
media.setRangs("001001");
} else if (cell.getContents().indexOf("影视媒体") != -1) {
media.setRangs("001002");
} else if (cell.getContents().indexOf("网络") != -1) {
media.setRangs("001003");
}else if(cell.getContents().indexOf("其他")!=-1){
media.setRangs("001004");
}else{
media.setRangs("001004");
}
break;
case 4:
province =cell.getContents();
break;
case 5:
media.setAddress(province+cell.getContents());
province = null;
break;
case 6:
user.setRealName(cell.getContents());
media.setName(cell.getContents());
break;
case 7:
break;
case 8:
if(cell.getContents().indexOf("1") != -1){
media.setPhone(cell.getContents());
}else{
media.setMobile(cell.getContents());
}
break;
case 9:
break;
case 10:
break;
case 11:
media.setPosition(cell.getContents());
break;
default:
break;
}
mmeta.setMedia(media);
mmeta.setUser(user);
}
lst.add(mmeta);
}
return lst;
}
private boolean saveImportData(File ioFile) throws Exception {
int rowCount = 0;
int columnCount = 0;
Workbook workbook = Workbook.getWorkbook(ioFile);
Sheet sheet = workbook.getSheet(0);
rowCount = sheet.getRows();
columnCount = sheet.getColumns();
if (rowCount == 0) {
this.addFieldError("importError", "您导入的文件没数据");
return false;
}
List<MediaMeta> lstMedia = getList(sheet, rowCount, columnCount);
for (MediaMeta meta : lstMedia) {
userInfoService.saveMediaInfo(meta);
}
return false;
}
public String execute() throws Exception {
UserInfo user = this.getUser();
if (user == null) {
return ATTSystem.LOGIN;
}
if (newsFile != null) {
if (saveImportData(newsFile)) {
if (this.getFieldErrors().isEmpty()) {
if (type.equals(ATTJob.SOC_POSITION)) {
this.setAttr("_status", "社会职位批量导入数据成功!");
this.setAttr("type", type);
return SUCCESS;
} else if (type.equals(ATTJob.STU_POSITION)) {
this.setAttr("_status", "学生职位批量导入数据成功!");
this.setAttr("type", type);
return SUCCESS;
}
}
}
}
return INPUT;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public UserInfoService getUserInfoService() {
return userInfoService;
}
public void setUserInfoService(UserInfoService userInfoService) {
this.userInfoService = userInfoService;
}
}
- jxl.jar (692.5 KB)
- 下载次数: 4
- ImportMediaAction.java.tar.gz (1.9 KB)
- 下载次数: 3
发表评论
-
storm 安装
2013-09-02 16:32 3067------------------------------- ... -
动态代理性能比较
2013-01-18 17:02 1155转自http://javatar.iteye.com/blog ... -
java 类加载器学习
2012-12-14 10:47 1033引用1.自定义类加载器 public interface ... -
jackson 学习
2012-11-13 15:42 10031.json 转为object对象 public clas ... -
java 线程池 异常 处理 机制 分析
2012-10-31 19:34 2131public class ThreadTest { ... -
ThreadPoolExecutor 原理-- java 线程池
2012-08-08 19:14 1144整个ThreadPoolExecutor的任务处理有4 ... -
java 缓冲
2012-08-08 19:12 1063import org.apache.log4j.Logge ... -
java 程序消耗 cpu 100% 查找方法
2012-05-16 14:38 17218问题原因:由于HashMap是非线程安全的,在多线程访问时,造 ... -
java io
2012-04-24 11:06 9171、按字节读取文件内容 2、按字符读取文件内容 3、按行读取 ... -
java 内省
2011-11-20 22:58 835java内省 -
系统常用工具类
2011-04-20 17:46 10331.ArithUtil.java ... -
spring 面向切面编程
2010-12-27 17:03 1089@Aspect public class AspectCoup ... -
jxl 写入excel
2010-11-10 13:52 10131.程序调用 ReportInterface report ... -
java 生成略缩图
2010-10-20 17:21 1202import java.awt.Graphics2D; imp ... -
XStream简单介绍
2010-09-10 15:44 1684创建能够序列化的类 这是一组简单的类。XStream能把这 ... -
java中对集合类的排序
2010-05-04 13:47 9021.第一种 public class User impleme ... -
Java 获取操作系统信息与Desktop类
2009-11-17 16:24 1365import java.util.Properties; ... -
java 事物处理
2009-10-15 10:52 1433public boolean deleteSchedule ...
相关推荐
总结来说,解决Java读取Excel内存溢出问题,关键在于合理利用资源、优化代码逻辑以及选择适合的API,如Apache POI的SXSSF。通过这些方法,我们可以在不显著增加系统资源负担的情况下,高效地处理大Excel文件。
Java读取Excel内容 v Java读取Excel内容 Java读取Excel内容
总结,Java读取Excel并进行数据库建库建表及生成Java实体的过程涉及了Apache POI库的使用、数据库操作和源代码生成。理解这些步骤可以帮助你有效地处理类似的任务,提高开发效率。在实际应用中,你还需要考虑错误...
java读取excel数据导入数据库源码 java读取excel数据导入数据库源码
### Java读取Excel表格中的日期 #### 背景与问题描述 在处理Excel文件时,经常遇到的一个问题是如何正确地识别并处理日期格式的数据。这是因为Excel中的日期格式较为复杂,有时甚至会出现不同版本的Excel文件中...
在Java编程中,读取...以上就是使用Java读取Excel文件生成矩阵的基本步骤。实际开发中,你可能还需要处理更多细节,如异常处理、数据验证、优化性能等。希望这个介绍能帮助你理解这个过程,并在实际项目中灵活应用。
"Java 读取 Excel 文件" Java 读取 Excel 文件是 Java 语言中常见的操作之一,通过使用 Apache POI 库,可以轻松地读取 Excel 文件中的数据。本文将通过 ReadExcelUtil 工具类,详细介绍如何读取 Excel 文件。 ...
java读写excel包括utf8转码为可识别汉字gbk,jxl方式读取excel,生成一个新的excel
标题"java读取excel之xlsl超大文件"所涉及的核心知识点是优化大量数据的读取策略。在Java中,可以使用Apache POI的SXSSF API(Streaming Usermodel API)来实现这种优化。与常规的XSSF API不同,SXSSF允许我们以流的...
本篇将详细介绍如何使用Java读取Excel所有页的数据,以及可能出现的问题和解决策略。 首先,我们需要引入能够处理Excel文件的库。Apache POI 是一个广泛使用的Java API,它允许程序员创建、修改和显示Microsoft ...
在Java编程环境中,读取Excel文件是一项常见的...Java读取Excel文件是一个相对复杂的任务,但通过Apache POI库,我们可以简化这个过程,高效地处理Excel数据。记住,始终确保正确处理文件流和资源,以避免潜在的问题。
Java读取excel
在Java编程中,读取Excel文件的内容是一项常见的任务,尤其在数据处理、报表生成或数据分析等领域。Excel文件通常包含表格数据,而Java提供多种库来处理这类任务,比如Apache POI、JExcelApi和OpenCSV等。本篇将重点...
Java 读取 Excel 文件 Java 读取 Excel 文件是指使用 Java 语言从 Excel 文件中读取数据,并对其进行处理的过程。下面将详细介绍 Java 读取 Excel 文件的过程和相关知识点。 Java 读取 Excel 文件的步骤 1. 导入...
在Java编程环境中,读取Excel数据是一项常见的任务,特别是在数据处理、数据分析或系统集成的场景中。本示例中,我们关注的是如何使用Java来读取Excel表格中的数据,并将其保存,这通常涉及到Apache POI库的应用。...
java读写Excel,POI.JAR,Word内容读取
这个库使得在Java中读写Excel文件变得相当直观和高效。标题“非常简洁的java读写EXCEL源代码”以及描述中提到的“非常简单,还赠送个JXL的包”都暗示了我们将讨论如何使用JXL库进行Excel操作。 首先,让我们来了解...
Java读取Excel文件是开发过程中常见的任务,尤其是在处理数据导入导出、数据分析或者报表生成时。这个名为"java读取excel文件jar包20181223"的资源可能包含了一些帮助Java开发者实现这一功能的库。下面将详细讨论...
java读取Excel表中的内容,可以读取多个sheet,生成自定义格式的xml文件
提供的压缩包可能包含了一个Java读取Excel的示例程序、相关的说明文件以及用于测试的Excel文件。确保按照提供的说明运行示例程序,以便在实际环境中验证读取功能。 总之,Java通过Apache POI库提供了强大的功能来...