package com.sun.myproject.servlet;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import com.sun.myproject.bean.Book;
import com.sun.myproject.bean.PageBean;
import com.sun.myproject.dao.BookDao;
import com.sun.myproject.daoimpl.BookDaoImpl;
/**
* Servlet implementation class ExportExcelServlet
*/
@WebServlet("/ExportExcelServlet")
public class ExportExcelServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public ExportExcelServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
// 1. 获取需要显示的页码数
String bookName = request.getParameter("bookname");
System.out.println("----------------$$$$------------------" + bookName);
BookDao service = new BookDaoImpl();
List<Book> list = service.exportExcel(bookName);
System.out.println(list.toString());
Workbook wordkbook = ExcelData(list);// 创建excel
/*
* File file = new File(path);
*
* response.addHeader("Content-Type","application/octet-stream");//设置生成的文件类型
* response.setContentType("application/msexcel");
* response.addHeader("Content-Disposition", "attachment;filename=" +
* URLEncoder.encode(file.getName(), "utf-8")); InputStream in = new
* FileInputStream(file); OutputStream out = response.getOutputStream(); byte[]
* buffer = new byte[1024]; int len; while ((len = in.read(buffer)) != 1) {
* out.write(buffer, 0, len); }
*/
try {
Date day=new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String name = "图书数据"+ df.format(day);
String codedFileName = new String(name.getBytes("gbk"), "iso-8859-1");
response.setHeader("Content-Disposition", "attachment;filename=" + codedFileName + ".xls");
// 响应类型,编码
response.setContentType("application/octet-stream;charset=UTF-8");
// 形成输出流
OutputStream osOut = response.getOutputStream();
// 将指定的字节写入此输出流
wordkbook.write(osOut);
// 刷新此输出流并强制将所有缓冲的输出字节被写出
osOut.flush();
// 关闭流
osOut.close();
} catch (Exception e) {
e.printStackTrace();
}
// 3. 跳转界面。
request.getRequestDispatcher("BookListServlet").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
public Workbook ExcelData(List<Book> list) throws Exception {
System.out.println("****************************************");
// 时间
long begin = System.currentTimeMillis();
/*
* String path = getServletContext().getRealPath(""); System.out.println(path);
* File file = new File(path); if (!file.exists()) { file.mkdir(); }
*/
// 1,创建一个工作薄
Workbook wordkbook = new HSSFWorkbook();
// 表名
Sheet sheet = wordkbook.createSheet("book");
// 写入数据
Row row1=sheet.createRow(0);
//4.创建一个单元格
Cell cell6 = row1.createCell(0);
cell6.setCellValue("书名");
Cell cell7 = row1.createCell(1);
cell7.setCellValue("出版社");
Cell cell8 = row1.createCell(2);
cell8.setCellValue("作者");
Cell cell9 = row1.createCell(3);
cell9.setCellValue("本数");
Cell cell10 = row1.createCell(4);
cell10.setCellValue("类型");
Cell cell11 = row1.createCell(5);
cell11.setCellValue("图片");
int rowNum = 1;
for (Book book : list) {
System.out.println(list.size());
System.out.println("---------------______"+rowNum);
System.out.println(book.toString());
Row row = sheet.createRow(rowNum++);
for (int cellNum = 0; cellNum < 6; cellNum++) {
System.out.println(cellNum);
switch (cellNum) {
case 0:
Cell cell = row.createCell(cellNum);
System.out.println(book.getBookname());
cell.setCellValue(book.getBookname());// 设值
break;
case 1:
Cell cell1 = row.createCell(cellNum);
cell1.setCellValue(book.getPublish());// 设值
break;
case 2:
Cell cell2 = row.createCell(cellNum);
cell2.setCellValue(book.getAuthor());// 设值
break;
case 3:
Cell cell3 = row.createCell(cellNum);
cell3.setCellValue(book.getBookcount());// 设值
break;
case 4:
Cell cell4 = row.createCell(cellNum);
cell4.setCellValue(book.getBooktype());// 设值
break;
case 5:
Cell cell5 = row.createCell(cellNum);
cell5.setCellValue(book.getImg());// 设值
break;
}
}
}
System.out.println("over");
//FileOutputStream fileOutputStream = new FileOutputStream(path + "\\excel.xls");
// wordkbook.write(fileOutputStream);
//fileOutputStream.close();
//System.out.println("灰灰统计表03已生成");
//long end = System.currentTimeMillis();
//System.out.println((double) (end - begin) / 1000);
return wordkbook;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于javaweb的图书管理系统源码+数据库(javaweb毕业设计).zip
共163个文件
class:41个
java:40个
jpg:25个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 115 浏览量
2022-11-23
17:58:35
上传
评论 3
收藏 15.04MB ZIP 举报
温馨提示
基于javaweb的图书管理系统源码+数据库(javaweb毕业设计).zip已获导师指导并通过的高分项目,也可作为课程设计、期末大作业。 本项目是一套基于javaweb的图书管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战的Java学习者。 包含:项目源码、数据库脚本、软件目实战练习的工具、项目说明等,该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! 基于javaweb的图书管理系统源码+数据库(javaweb毕业设计).zip已获导师指导并通过的高分项目,也可作为课程设计、期末大作业。 本项目是一套基于javaweb的图书管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战的Java学习者。 包含:项目源码、数据库脚本、软件目实战练习的工具、项目说明等,该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! 基于javaweb的图书管理系统源码+数据库(javaweb毕业设计).zip已获导师指导并通过的高分项目,也可作为课程设计、期末大作业。 本项目是一套基于javaweb的图书管理系统,主要针对计算机相关专业的正在做毕设的学生和
资源推荐
资源详情
资源评论
收起资源包目录
基于javaweb的图书管理系统源码+数据库(javaweb毕业设计).zip (163个子文件)
UserDaoImpl.class 7KB
BookDaoImpl.class 7KB
OperaBookDaoImpl.class 7KB
UserExportExcelServlet.class 6KB
ExportExcelServlet.class 6KB
CpachaUtil.class 5KB
UserImportExcelServlet.class 5KB
ImportExcelServlet.class 5KB
AddBookServlet.class 4KB
UpdateBookServlet.class 4KB
BorrowBooksServlet.class 4KB
ExcelUtil.class 4KB
LoginCheck.class 3KB
SearchOperatServlet.class 3KB
ReturnBooksServlet.class 3KB
RenewBooksServlet.class 3KB
LoginFilter.class 3KB
UpdateUserServlet.class 3KB
User.class 3KB
BookListServlet.class 3KB
OperaBook.class 3KB
AddUserServlet.class 3KB
MyRequest.class 3KB
BorrowNoteServlet.class 2KB
Book.class 2KB
CpachaServlet.class 2KB
UserListServlet.class 2KB
EditUserServlet.class 2KB
ImgServlet.class 2KB
EditBookServlet.class 2KB
DeleteOperaServlet.class 2KB
DeleteServlet.class 2KB
DeleteBookServlet.class 2KB
JDBCUtil.class 2KB
PageBean.class 2KB
ExitServlet.class 2KB
EncodingFilter.class 2KB
UserDao.class 1KB
BookDao.class 1KB
OperaBookDao.class 1KB
TextUtils.class 520B
.classpath 648B
org.eclipse.wst.common.component 501B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap-datetimepicker.min.css 12KB
bootstrap-datetimepicker.min.css 12KB
bootstrap-datetimepicker.min.css 12KB
poi-ooxml-schemas-3.17.jar 5.65MB
xmlbeans-2.6.0.jar 2.6MB
mysql-connector-java-8.0.17.jar 2.21MB
poi-3.9.jar 1.78MB
poi-ooxml-3.9.jar 915KB
c3p0-0.9.1.2.jar 596KB
commons-collections-3.2.1.jar 562KB
joda-time-2.1.jar 557KB
standard.jar 384KB
commons-lang-2.5.jar 273KB
commons-beanutils-1.8.3.jar 227KB
commons-io-1.4.jar 106KB
commons-logging-1.1.1.jar 59KB
commons-fileupload-1.2.1.jar 56KB
commons-dbutils-1.3.jar 40KB
jstl.jar 20KB
ExportExcelServlet.java 6KB
BookDaoImpl.java 6KB
UserDaoImpl.java 6KB
UserExportExcelServlet.java 6KB
OperaBookDaoImpl.java 5KB
UserImportExcelServlet.java 5KB
CpachaUtil.java 4KB
ImportExcelServlet.java 4KB
EncodingFilter.java 3KB
ExcelUtil.java 3KB
AddBookServlet.java 3KB
UpdateBookServlet.java 3KB
LoginCheck.java 3KB
BorrowBooksServlet.java 3KB
UpdateUserServlet.java 2KB
ReturnBooksServlet.java 2KB
RenewBooksServlet.java 2KB
LoginFilter.java 2KB
AddUserServlet.java 2KB
BookListServlet.java 2KB
OperaBook.java 2KB
User.java 2KB
SearchOperatServlet.java 2KB
BorrowNoteServlet.java 2KB
UserListServlet.java 2KB
Book.java 2KB
CpachaServlet.java 2KB
UserDao.java 2KB
EditUserServlet.java 2KB
EditBookServlet.java 1KB
BookDao.java 1KB
JDBCUtil.java 1KB
DeleteBookServlet.java 1KB
DeleteOperaServlet.java 1KB
DeleteServlet.java 1KB
ImgServlet.java 1KB
OperaBookDao.java 1KB
共 163 条
- 1
- 2
资源评论
- Ztrxi2022-12-14感谢资源主分享的资源解决了我当下的问题,非常有用的资源。
程序员张小妍
- 粉丝: 1w+
- 资源: 3691
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IPMSM永磁电机弱磁控制 附有说明文档 公式法MTPA 采用电压反馈弱磁 波形很好 跟踪很稳 包含仿真文件和两个详细说明文档 简单易懂
- MySQL学生成绩管理系统
- 面向目标探测与跟踪的相控阵雷达波束调度策略研究 开题报告答辩.pptx
- 考虑风光火储和电动汽车的微电网经济调度 软件:Matlab+cplex工具箱 介绍:在Matlab 平台上以一个包含风、光、柴油发电机、上级电网、储能以及电动汽车的小型微电网系统为例进行仿真 目标包
- springboot校园在线拍卖系统
- 广东墨睿科技有限公司创投信息
- STM32L0xx官方开发包
- 故障诊断分类 matlab代码 轴承内圈、外圈、滚动体故障分类 (1)故障样本的时域、频域、时频域、熵等特征提取; (2)BP网络或者SVM模型训练与测试 (3)输出测试样本分类准确率 成套代码,注释
- 冲床送料机程序 中达优控一体机编写 此程序已经实际设备上批量应用,程序成熟可靠,借鉴价值高,程序有注释
- tensorflow用户实验报告
- 杭州华卓信息科技有限公司创投信息
- 含电池储能+pid控制器的两区域互联网电网调频仿真
- 毕业设计B058-基于Java的卓越导师双选系统的设计与实现
- 杭州孝道科技有限公司创投信息
- 儿童节烟花代码2python实现
- 大厂成熟FOC直流电机控制方案,此方案可用于电动自行车,滑板车等电机驱动 单片机基于Stm031或相应兆易GD32等单片机 转把,高中低三速 刹车功能 助力功能 电子刹车功能 欠压检测 巡航
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功