<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="gb2312"%>
<%@ page import="com.hzpcssys.dao.DBHelper"%>
<%@ page import="org.apache.poi.hssf.usermodel.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>POI将数据导入Excel,上传到服务器,并从客户端保存</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<%
Map recordMap = null;
String key = "";
String value = "";
String sql = DBHelper.tostr(request.getParameter("sql").toString());
ArrayList recordList = (ArrayList)DBHelper.executeQuerySQL(sql);
try {
// 创建新的Excel工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在excel中新建一个工作表,起名字为工作对象
HSSFSheet sheet = workbook.createSheet("工作对象");
for(int i = 0; i < recordList.size(); i++) {
// 创建第行
HSSFRow row = sheet.createRow(i);
// 结果集Map
recordMap = (Map)recordList.get(i);
// 遍历recordMap的键 值
Iterator keyValuePairs = recordMap.entrySet().iterator();
for(int j = 0; j < recordMap.size(); j++) {
// 创建第列
HSSFCell cell = row.createCell((short)j);
// 定义单元格为字符串类型
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
Map.Entry entry = (Map.Entry) keyValuePairs.next();
key = entry.getKey()==null?"":entry.getKey().toString();
value = entry.getValue()==null?"":entry.getValue().toString();
cell.setCellValue(value);
}
}
// 文件存放位置 保存于服务器
String filePath = application.getRealPath("\\temp")+"\\recordToExcel.xls";
// 新建一输出流
FileOutputStream fout = new FileOutputStream(filePath);
// 存盘
workbook.write(fout);
// 清空缓冲区
fout.flush();
// 结束关闭
fout.close();
// 文件下载路径
String fileDownloadPath = request.getRequestURL().substring(0, request.getRequestURL().lastIndexOf("/"))
+ "/temp/recordToExcel.xls";
// 保存到本地文件名
String saveFileName = "recordToExcel.xls";
// 以下主要实现 Excel文件下载
// 设置响应头和下载保存的文件名
response.reset();
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename=\"" + saveFileName + "\"");
String temp = application.getRealPath("/temp/recordToExcel.xls");
FileInputStream fis = new FileInputStream(temp);
// 写出流信息
int i = 0;
while ((i=fis.read()) != -1) {
out.write(i);
}
fis.close();
out.flush();
out.close();
} catch(IOException e){
e.printStackTrace();
}
%>
</body>
</html>
分享到:
相关推荐
poi实现导入数据到excel模板,本来想上传poi的jar包,谁知限制我只能上传15M的文件,汗。。。。。 不知道啥时候开始要分了... 代码见: https://github.com/thisisnohi/nohi-doc poi实现导入数据到excel模板。...
SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel
poi 方式导入 大量excel数据,将excelDir目录下文件考入f盘即可测试 poi 方式导入 大量excel数据,将excelDir目录下文件考入f盘即可测试
这个是使用java语言 poi导入excel到数据库中,同时使用了xml对excel的每个单元格数据进行了非空验证。经测试,导入数据库成功。
java 使用 poi 解析导入大数据量(几万数据量+)时,报出OOM。这是使用POI 第二种处理方法,解决大数据量导入内存溢出问题,并提升效率
Poi强大的操作技术方便了我们开发,Apache POI导入数据到Excel电子表格
java_poi实现excel导入导出功能,有详细的注解
poi excel 导入 导出poi excel 导入 导出poi excel 导入 导出poi excel 导入 导出poi excel 导入 导出poi excel 导入 导出
poi apache-poi导入实例 导入excel 利用java的apache-poi读取每一行每一列,导入excel数据,两个for循环出来的[ ][ ] 承装数据
POI导入Excel并返回校验后的错误文件(原样数据文件,并添加批注,注:由于批注只能加1000条,会在Excel后面添加一栏错误信息)下载以及页面展示校验错误信息,同时添加导入进度条,提供页面js和css代码,后端...
JAVA实现数据库数据导入导出到Excel(POI)所需jar包
该文件中包含了所有java项目中...将该zip解压后,将jar包加入到自己的项目中,可以直接通过poi的api在excel和项目数据进行导入导出。 应用场景:如 excel格式对账单导出,将数据库数据导出到excel中(带样式字体等)。
java实现excel的导入导出(poi详解),经过测试poi效率要比jxl要高很多,特别是数据量大的时候jxl根本无法用肉眼入目,本资源是个可运行项目demo,很有参考价值!
主要是springboot+myBatis+poi+mysql的使用,从数据库查询到结果集导出excel到本地,从本地中的excel文件导入到数据库中。
利用POI实现Excel的导入和导出实例的实现,外加poi的全部jar包
poi--4.导入excelpoi--4.导入excelpoi--4.导入excelpoi--4.导入excelpoi--4.导入excelpoi--4.导入excel
poi 导入 excel java,源代码
POI把Excel表格数据导入到数据库的小例子
这是一个Excel表格导入与导出功能,Excel美化,并且添加了进度条,丢上Eclipse直接运行使用,附带测试数据与说明。Java项目使用maven搭建。
使用POI技术将excel文档导入mysql,将excel中的输入导入到数据库中