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检索文档时,必须先为各文档创建索引.索引的创建即读出文档信息(如文档名称.上传时间.文档内容等),然后再经过分词建索引写入到索引文件里.这里主要是总结下读取各类文档内容这一步. 一. ...
随机推荐
- js 设计模式——观察者模式
观察者模式 定义 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状 ...
- PHP中上传文件打印错误,错误类型
一般使用$_FILES来进行文件上传时,可以使用$_FILES["file"]["error"]来判断文件上传是否出错.$_FILES["file&q ...
- 为什么继续选择DELPHI?
已经钻DELPHI很深了,当然现在DELPHI是过了最辉煌的时代.但为什么要继续下去,而不转向其它的?这是不是死脑筋? 我看了一下C#的LINQ的产生,然后又被实体框架所代替.思考了一下: 1)LIN ...
- JSON解析工具——Jackson的简单使用
什么是Jackson 可以轻松实现Java对象与JSON字符串的转换 准备工作:导包 Jackson的jar all下载地址:http://jackson.codehaus.org/1.7.6/jac ...
- 20155222 c语言实现pwd命令
20155222 c语言实现linux的pwd命令 1.学习pwd命令在Linux层次结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录.然 ...
- @ModelAttribute三个作用:
@ModelAttribute具有如下三个作用: ①绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时 ...
- $watch和$observe的使用
$observe 是Attribute对象的一个方法,用来监听DOM中属性值的变化.比如 attr1="{{name}}" Attribute定义在directive中的link函 ...
- Java虚拟机笔记(二):GC垃圾回收和对象的引用
为什么要了解GC 我们都知道Java开发者在开发过程中是不需要关心对象的回收的,因为Java虚拟机的原因,它会自动回收那些失效的垃圾对象.那我们为什么还要去了解GC和内存分配呢? 答案很简单:当我们需 ...
- 手把手带你打造一个 Android 热修复框架(上篇)
本文来自网易云社区 作者:王晨彦 前言 热修复和插件化是目前 Android 领域很火热的两门技术,也是 Android 开发工程师必备的技能. 目前比较流行的热修复方案有微信的 Tinker,手淘的 ...
- 【Java源码解析】Thread
简介 线程本质上也是进程.线程机制提供了在同一程序内共享内存地址空间运行的一组线程.对于内核来讲,它就是进程,只是该进程和其他一下进程共享某些资源,比如地址空间.在Java语言里,Thread类封装了 ...