poi读取、通过poi导出数据库的记录到excl表
|
package com.nt.test;
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Iterator;
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 org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class TestPOI { // public static void main(String[] args) { // File file=new File("D://nt/question/1/木工.xls"); // try { // FileInputStream fint=new FileInputStream(file); // POIFSFileSystem poifsFileSystem=new POIFSFileSystem(fint); // HSSFWorkbook workbook=new HSSFWorkbook(poifsFileSystem); // HSSFSheet sheet=workbook.getSheetAt(0); // // // Iterator rows=sheet.rowIterator(); // //得到总行数 // int rowtotalnumber=sheet.getLastRowNum(); // System.out.println("rowtotal=========="+rowtotalnumber); // while (rows.hasNext()) { // HSSFRow row=(HSSFRow) rows.next(); // int rownumber=row.getRowNum(); // //当前行数 // System.out.println("rownumber------"+rownumber); // // //当前行的列数 // int lie=row.getPhysicalNumberOfCells(); // System.out.println("lie============"+lie); // // // Iterator cells=row.cellIterator(); // // while(cells.hasNext()){ // HSSFCell cell=(HSSFCell) cells.next(); // // //列好 从0开始 // int cellnumber=cell.getCellNum(); // System.out.println("cellnumber----"+cellnumber); // System.out.println(getCellStringValue(cell)); // } // } // } catch (FileNotFoundException e) { // e.printStackTrace(); // } catch (IOException e) { // e.printStackTrace(); // } // }
public static String getCellStringValue(HSSFCell cell) { String cellValue = ""; switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_STRING://字符串类型 cellValue = cell.getStringCellValue(); if(cellValue.trim().equals("")||cellValue.trim().length()<=0) cellValue=" "; break; case HSSFCell.CELL_TYPE_NUMERIC: //数值类型 cellValue = String.valueOf(cell.getNumericCellValue()); break; case HSSFCell.CELL_TYPE_FORMULA: //公式 cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cellValue = String.valueOf(cell.getNumericCellValue()); break; case HSSFCell.CELL_TYPE_BLANK: cellValue=" "; break; case HSSFCell.CELL_TYPE_BOOLEAN: break; case HSSFCell.CELL_TYPE_ERROR: break; default: break; } return cellValue; }
}
通过poi导出数据库的记录到excl表
package com.test.daotest;
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Iterator; import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.hibernate.Session; import org.hibernate.Transaction;
import com.test.model.Question; import com.test.until.HibernateSessionFactory;
public class ExportQuestion { public static void main(String[] args) { int id=14; try { HSSFWorkbook wb=new HSSFWorkbook(); FileOutputStream fileout = new FileOutputStream("test"+id+".xls"); wb.write(fileout);
HSSFSheet sheet=wb.createSheet("new sheet"); //通过Hibernate来查询addressbook_table表中的数据,将其存储在List中 Session s=HibernateSessionFactory.getSession(); Transaction tx = s.beginTransaction(); org.hibernate.Query query= s.createQuery("from Question q where q.majorId="+id); List list = query.list(); tx.commit(); int k =0;
//创建表格,创建表格行和单元格,将数据库中表的字段存储在单元格中. for(Iterator it=list.iterator();it.hasNext();){ Question q =(Question)it.next(); HSSFRow row=sheet.createRow((short)k); row.createCell((short)0).setCellValue(1); row.createCell((short)1).setCellValue(q.getQuestion()); row.createCell((short)2).setCellValue(q.getOptionA()); row.createCell((short)3).setCellValue(q.getOptionB()); row.createCell((short)4).setCellValue(q.getOptionC()); row.createCell((short)5).setCellValue(q.getOptionD()); row.createCell((short)6).setCellValue(q.getAnswer()); row.createCell((short)7).setCellValue(q.getMajorId()); row.createCell((short)8).setCellValue(0); row.createCell((short)9).setCellValue(0); k++; } FileOutputStream fileout1 = new FileOutputStream("test"+id+".xls"); wb.write(fileout1);
fileout1.close();
} catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
|
poi读取、通过poi导出数据库的记录到excl表的更多相关文章
- 如何使用mysqldump命令导入导出数据库下的数据或表结构(远程or本地都适合)
不多说,直接上干货! https://www.cloudera.com/documentation/manager/5-1-x/Cloudera-Manager-Installation-Guide/ ...
- apache poi 读取xlsx并导出为json(没考虑xls)
1.用到的jar包:fastjson-1.2.9.poi(poi-3.15.poi-ooxml-3.15.poi-ooxml-schemas-3.15.xmlbeans-2.6.0.commons-c ...
- linux导入导出数据库方法 windows导入导出数据库方法
1.使用管理员账号(sys)登录查询字符集信息 第一步:查询LinuxOracle数据库的字符集 select userenv('language') from dual; 查询结果集可能为:AMER ...
- SpringMVC 实现POI读取Excle文件中数据导入数据库(上传)、导出数据库中数据到Excle文件中(下载)
读取Excale表返回一个集合: package com.shiliu.game.utils; import java.io.File; import java.io.FileInputStream; ...
- POI读取Excel数据保存到数据库,并反馈给用户处理信息(导入带模板的数据)
今天遇到这么一个需求,将课程信息以Excel的形式导入数据库,并且课程编号再数据库中不能重复,也就是我们需要先读取Excel提取信息之后保存到数据库,并将处理的信息反馈给用户.于是想到了POI读取文件 ...
- jsp+servlet+poi导出数据库中的数据
index.jsp: <a href="POIout">简单导出数据</a> <a href="POIoutTemplate"&g ...
- Poi读取Excle报错 java.util.zip.ZipException: invalid stored block lengths
一:Poi读取Excle报错 java.util.zip.ZipException: invalid stored block lengths 系统中需要导出excle签收单,excle模板是预设好 ...
- apache POI 操作excel<导入导出>
1.首先导入maven依赖 <!-- POI核心依赖 --> <dependency> <groupId>org.apache.poi</groupId> ...
- lucent检索技术之创建索引:使用POI读取txt/word/excel/ppt/pdf内容
在使用lucent检索文档时,必须先为各文档创建索引.索引的创建即读出文档信息(如文档名称.上传时间.文档内容等),然后再经过分词建索引写入到索引文件里.这里主要是总结下读取各类文档内容这一步. 一. ...
随机推荐
- Redis 可视化工具 Redis Desktop Manager 和 treeNMS 的使用
这里介绍两个 Redis 可视化工具.Redis Desktop Manager 和 treeNMS. 一.Redis Desktop Manager 下载地址:https://redisdeskto ...
- 2017-2018-2 20155315《网络对抗技术》Exp4:恶意代码分析
实验目的 是监控你自己系统的运行状态,看有没有可疑的程序在运行. 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件 ...
- python 线程及线程池
一.多线程 import threading from time import ctime,sleep def music(func): for i in range(2): print(" ...
- 23-[模块]-subprocess模块
1.调用系统命令 我们经常需要通过Python去执行一条系统命令或脚本,系统的shell命令是独立于你的python进程之外的,每执行一条命令,就是发起一个新进程,通过python调用系统命令或脚本的 ...
- 7-[多线程]-Event、定时器、队列、堆栈
1.Event对象 线程的一个关键特性是每个线程都是独立运行且状态不可预测. 如果程序中的其他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就会变得非常棘手. 为了解决这些问题 ...
- 5 功能4:个人站点页面设计(ORM跨表与分组查询)
1.个人站点页面文章的查询 # 个人站点 http://www.cnblogs.com/wh1520577322/ http://www.cnblogs.com/liucong12345/ http: ...
- idea 搜索不到前端的ajax controller接口的原因
这是因为我把 web 目录设置成了 Excluded ,没有索引所以找不到了 参考: https://www.cnblogs.com/kinome/p/9991022.html IDEA 出现 upd ...
- Linux 和 Windows 之间共享文件之 samba
导语 如果对windows有过实际操作技巧的人都会明白,在windows下的文件共享加上网络驱动器映射是多么方便的体验,甚至比ftp更加的简单,就像本地多了一块可与他人交流的硬盘一样. 问题 由于性能 ...
- centos7安装vim以及在vim中显示中文
1.centos7安装vim yum -y install vim(简单粗暴安装方法) 2.在vim中显示中文不出现乱码 (1).vim ~/.vimrc (~/.vimrc为vim配置文件) (2) ...
- python迭代器的内置函数
1.迭代器: 内置函数: (1)iter() -__iter__() (2)next() -__next__() 2.迭代器的举例; 对于Fibs数列,我们对其进行 限量输出: 实现代码如下: cla ...