package com.test.service.impl;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.test.bean.User;
import com.test.dao.UserDAO;
import com.test.service.UserService;
import com.test.util.CharacterUtils;
public class UserServiceImpl implements UserService {
private UserDAO userDao;
public UserDAO getUserDao() {
return userDao;
}
public void setUserDao(UserDAO userDao) {
this.userDao = userDao;
}
public void delete(User user) {
this.userDao.removeUser(user);
}
public List<User> findAll() {
return this.userDao.findAllUserss();
}
public User findById(Integer id) {
return this.userDao.findUserById(id);
}
public void save(User user) {
this.userDao.saveUser(user);
}
public void update(User user) {
this.userDao.updateUser(user);
}
public InputStream getInputStream(){
//生成HSSFWorkbook,相当于一个建立一个excel
HSSFWorkbook wb = new HSSFWorkbook();
//由wb来创建一个sheet
HSSFSheet sheet = wb.createSheet();
//由sheet创建一行
HSSFRow row = sheet.createRow(0);
//在一行中建立一个单位格
HSSFCell cell = row.createCell((short)0);
//设置单位格的编码格式
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//设置单位格的内容
cell.setCellValue("序号");
cell = row.createCell((short)1);
//设置单位格的编码格式
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//设置单位格的内容
cell.setCellValue("姓");
cell = row.createCell((short)2);
//设置单位格的编码格式
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//设置单位格的内容
cell.setCellValue("名");
cell = row.createCell((short)3);
//设置单位格的编码格式
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//设置单位格的内容
cell.setCellValue("年龄");
List<User> list = this.findAll();
for(int i = 0; i < list.size(); i++){
User user = list.get(i);
row = sheet.createRow(i+1);
cell = row.createCell((short)0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(i+1);
cell = row.createCell((short)1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(user.getFirstname());
cell = row.createCell((short)2);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(user.getLastname());
//row = sheet.createRow(i+1);
cell = row.createCell((short)3);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(user.getAge());
}
//输出流,并没有写到文件中,而是以byte的形式让在内存中,然后直接用输入流去读这些内容
ByteArrayOutputStream os = new ByteArrayOutputStream();
try{
wb.write(os);
}catch(IOException e){
e.printStackTrace();
}
byte[] content = os.toByteArray();
InputStream is = new ByteArrayInputStream(content);
return is;
/* byte[] content = wb.getBytes();
InputStream is = new ByteArrayInputStream(content);
return is;*/
/*String filename = CharacterUtils.getRandomString(5);
filename = new StringBuffer(filename).append(".xls").toString();
final File file = new File(filename);
//引入输出流,文件流
//输出流:以电脑为中心,把东西输到文件中,为输出流
//输入流:把文件里的东西输入到电脑就为输入流
try {
OutputStream os = new FileOutputStream(file);
wb.write(os);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
InputStream is = null;
try {
is = new FileInputStream(file);
} catch (Exception e) {
e.printStackTrace();
}
new Thread(new Runnable(){
public void run(){
try{
Thread.sleep(15000);
}catch(InterruptedException e){
e.printStackTrace();
}
file.delete();//删除文件
}
}).start();
return is;*/
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
关于SSH的一个特别小的例子 (138个子文件)
UserServiceImpl.class 3KB
UserDAOImpl.class 2KB
UpdatePUserAction.class 1KB
ListUserAction.class 1KB
User.class 1KB
DeleteUserAction.class 1KB
UpdateUserAction.class 1KB
SaveUserAction.class 993B
DeleteFilesServlet.class 971B
GenerateExcelAction.class 964B
CharacterUtils.class 940B
DeleteFilesServlet$1.class 858B
UserService.class 411B
UserDAO.class 370B
.classpath 6KB
hibernate3.jar 2.15MB
aspectjweaver.jar 1.8MB
jasperreports-1.3.4.jar 1.61MB
itext-1.3.jar 1.09MB
xerces-2.6.2.jar 987KB
freemarker-2.3.12.jar 843KB
freemarker.jar 834KB
poi-2.5.1.jar 783KB
struts2-core-2.1.2.jar 697KB
jxl.jar 597KB
c3p0-0.9.1.2.jar 596KB
struts.jar 537KB
xwork-2.1.1.jar 510KB
mysql-connector-java-5.0.4-bin.jar 484KB
javassist.jar 460KB
antlr-2.7.6.jar 433KB
jboss-archive-browsing.jar 404KB
velocity-1.5.jar 383KB
spring-beans.jar 381KB
log4j-1.2.11.jar 342KB
cglib-nodep-2.1_3.jar 317KB
dom4j-1.6.1.jar 307KB
spring-aop.jar 301KB
spring-webmvc.jar 279KB
cglib-2.1.3.jar 276KB
commons-httpclient.jar 273KB
hibernate-annotations.jar 259KB
commons-lang.jar 237KB
spring-jdbc.jar 222KB
jaxen-1.1-beta-7.jar 222KB
ehcache-1.2.3.jar 203KB
spring-core.jar 178KB
commons-collections-2.1.1.jar 171KB
ognl-2.6.11.jar 164KB
spring-context.jar 157KB
spring-web.jar 149KB
spring-dao.jar 127KB
jotm.jar 121KB
xml-apis.jar 121KB
commons-dbcp.jar 119KB
spring-portlet.jar 115KB
hibernate-entitymanager.jar 114KB
aspectjrt.jar 112KB
velocity-tools-view-1.3.jar 105KB
spring-hibernate3.jar 105KB
jaas.jar 102KB
spring-jpa.jar 96KB
xapool.jar 90KB
commons-io.jar 82KB
persistence.jar 69KB
hibernate-commons-annotations.jar 65KB
jakarta-oro-2.0.8.jar 64KB
spring-jdo.jar 61KB
commons-pool.jar 61KB
hibernate-validator.jar 60KB
spring-toplink.jar 56KB
cos.jar 55KB
commons-fileupload.jar 52KB
commons-logging.jar 52KB
ejb3-persistence.jar 49KB
commons-codec.jar 46KB
commons-logging-1.0.4.jar 37KB
commons-attributes-api.jar 35KB
asm-util-2.2.3.jar 34KB
commons-attributes-compiler.jar 29KB
asm.jar 26KB
spring-struts.jar 25KB
spring-ibatis.jar 24KB
asm-attrs.jar 16KB
portlet-api.jar 15KB
asm-commons-2.2.3.jar 15KB
struts2-spring-plugin-2.1.2.jar 9KB
jta.jar 9KB
jdbc2_0-stdext.jar 7KB
spring-tomcat-weaver.jar 5KB
aopalliance.jar 4KB
spring-agent.jar 1KB
UserServiceImpl.java 4KB
DeleteUserAction.java 1KB
UserDAOImpl.java 865B
DeleteFilesServlet.java 852B
ListUserAction.java 642B
UpdatePUserAction.java 636B
User.java 618B
UpdateUserAction.java 618B
共 138 条
- 1
- 2
资源评论
- wyc950032012-09-07还可以,适合初学
- 取个昵称全重名2012-10-07最好有注解说明条理就更好了
- a8406527352012-11-29例子小,如果分层次完全分明点就好了
xiaolijian13
- 粉丝: 3
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- #P0015. 全排列 超级简单
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功