Apchepoi读取数据库中的数据并写入 Excel
之前写了一篇poi读写excel的简单demo,但考虑到实际项目中,主要还是对将数据库中的数据进行写入excel,所以练习了一个也是比较简单的demo。
首先:
数据库:
创建一个数据库连接的Util类
DBConnectionUtil.java
package com.poi.org; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DBConnectionUtil { private static Connection conn = null; private static String Driver = "com.mysql.jdbc.Driver"; private static String url = "jdbc:mysql://localhost/quechao?useUnicode=true&characterEncoding=utf8"; private static String userName = "root"; private static String password = "123456"; public static Connection getConnection(){ try { Class.forName(Driver); conn = DriverManager.getConnection(url, userName, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } public static void closeDB(ResultSet rs, Statement st, Connection conn){ try { if(rs != null) rs.close(); rs = null; if(st != null) st.close(); st = null; if(conn != null) conn.close(); conn = null; } catch (SQLException e) { e.printStackTrace(); } } }
实体类 Hospital.java
package com.poi.model; public class Hospital { private Integer id; private String hospitalOn; private String province; private String city; private String title; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getHospitalOn() { return hospitalOn; } public void setHospitalOn(String hospitalOn) { this.hospitalOn = hospitalOn; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } }
测试类QueryHospital.java
package com.poi.test; import java.io.File; import java.io.FileOutputStream; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; 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.poi.model.Hospital; import com.poi.org.DBConnectionUtil; public class QueryHospital { public static List<Hospital> selectHospital()throws Exception{ Connection conn = null; ResultSet rs = null; Statement st = null; String sql = "select * from hospital"; conn = DBConnectionUtil.getConnection(); List<Hospital> list = new ArrayList<Hospital>(); try { st = conn.createStatement(); rs = st.executeQuery(sql); while(rs.next()){ Hospital hospital = new Hospital(); //hospital.setId(rs.getInt("id")); hospital.setId(rs.getInt(1)); //hospital.setHospitalOn(String.valueOf(rs.getInt("hospitalOn"))); hospital.setHospitalOn(rs.getString(2)); hospital.setProvince(rs.getString(3)); hospital.setCity(rs.getString(4)); //hospital.setTitle(String.valueOf(rs.getInt("title"))); hospital.setTitle(rs.getString(5)); list.add(hospital); } } catch (Exception e) { e.printStackTrace(); }finally{ DBConnectionUtil.closeDB(rs, st, conn); } return list; } public void createExcel()throws Exception{ HSSFWorkbook workBook = new HSSFWorkbook(); HSSFSheet sheet = workBook.createSheet("第一页"); sheet.setColumnWidth(0, 2500); sheet.setColumnWidth(1, 5000); HSSFRow row = sheet.createRow(0); HSSFCell cell[] = new HSSFCell[5]; for(int i = 0; i < 5; i++){ cell[i] = row.createCell(i); } cell[0].setCellValue("id"); cell[1].setCellValue("hospitalOn"); cell[2].setCellValue("province"); cell[3].setCellValue("city"); cell[4].setCellValue("title"); List<Hospital> list = QueryHospital.selectHospital(); if(list != null && list.size() > 0){ for(int i = 0; i < list.size(); i++){ Hospital hospital = list.get(i); HSSFRow dataRow = sheet.createRow(i+1); HSSFCell dataCell[] = new HSSFCell[5]; for(int j = 0; j < 5; j++){ dataCell[j] = dataRow.createCell(j); } dataCell[0].setCellValue(hospital.getId()); dataCell[1].setCellValue(hospital.getHospitalOn()); dataCell[2].setCellValue(hospital.getProvince()); dataCell[3].setCellValue(hospital.getCity()); dataCell[4].setCellValue(hospital.getTitle()); File file = new File("E:\\hospital.xls"); FileOutputStream fos = new FileOutputStream(file); workBook.write(fos); fos.close(); } } } public static void main(String[] args)throws Exception { QueryHospital queryHospital = new QueryHospital(); queryHospital.createExcel(); } }
考虑到每个人项目中用的持久层技术(Hibernate、Mybatis等)会有不同,所以这里用的jdbc,后续抽时间会再写一个读取Excel并写入数据库demo。
注:以上所写部分来自网络以及自己学习时所记录,若有高人指点,必虚心学习。
原文地址:http://blog.csdn.net/u014011236/article/details/39204591
相关推荐
在这个"利用POI解析excel并存入数据库demo"中,我们将关注如何使用 POI 库来读取 Excel 文件,并将数据有效地存入 MySQL 数据库。 首先,要开始使用 POI,你需要在你的项目中引入相应的依赖。如果你使用的是 Maven...
以上就是使用Apache POI读取Excel数据并写入Word的基本流程。在实际应用中,你可能需要处理更复杂的情况,比如合并单元格、处理公式、格式转换等,这都需要对POI API有更深入的理解。同时,为了提高性能,可以考虑...
数据库数据写入Excel是一项常见的数据处理任务,尤其在数据分析、报告生成或数据迁移场景中非常实用。本示例中,我们将探讨如何通过编程方式,利用Java的JDBC(Java Database Connectivity)接口从数据库中获取数据...
以上就是关于使用Apache POI实现从数据库读取数据,创建并写入Excel文件,设置样式,选择保存路径,以及文件下载的相关知识。这个过程涉及了Java的IO、数据库操作和Web应用开发等多个方面,是Java开发中常见的数据...
3. 使用Apache POI读取Excel:下面的代码展示了如何打开Excel文件并读取数据: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import ...
综上所述,"POI从数据库查询数据写入Excel工具类"是Java开发中数据处理能力的体现,结合了现代Java语言特性、Maven项目管理和POI的Excel操作,以及数据库连接技术,为企业级数据导出提供了一种高效的解决方案。
本篇文章将详细讲解如何使用Apache POI解析Excel文件,并将数据写入数据库。 首先,我们需要了解Apache POI的基本概念。POI提供了一个Java API,使得开发者可以在不依赖Microsoft Office的情况下,处理Excel文件。...
使用POI读取Excel数据的基本步骤如下: 1. 加载Excel文件:使用`WorkbookFactory.create()`方法创建一个`Workbook`实例。 2. 获取工作表:通过`Workbook`对象的`getSheetAt()`或`createSheet()`方法获取或创建工作...
在Java开发中,Apache POI库是一个非常实用的工具,用于读取和写入Microsoft Office格式的文件,包括Excel。本篇文章将详细讲解如何利用Apache POI库在Android环境中高效地处理大数据量的Excel文件,无论是2003的....
标题中的“poi包 EXCEL模板读取填数据并导出以及在模板某行插入新的行”涉及到了Apache POI库的使用,这是一个Java API,专门用于处理Microsoft Office格式的文件,如Excel。以下是对这个主题的详细解释: Apache ...
2. 使用POI读取Excel文件,将数据存储到List或其他数据结构中。 3. 配置DBCP连接池,创建DataSource实例。 4. 创建线程池,例如使用ThreadPoolExecutor初始化ExecutorService。 5. 将Excel数据分割为多个部分,每...
- **读取Excel**:使用Apache POI,开发者可以打开Excel文件,访问工作簿、工作表,以及单元格中的数据。例如,通过`WorkbookFactory.create()`方法加载文件,然后遍历工作表和单元格进行数据提取。 - **写入Excel...
在本项目中,主要使用POI来处理Excel文件,读取数据并将其导入到数据库,或者从数据库中导出数据到Excel文件。 4. **Thymeleaf**: Thymeleaf是一个现代的服务器端Java模板引擎,可以处理HTML、XML、JavaScript、CSS...
本篇文章将深入探讨如何利用POI技术读取Excel中的数据,进行比对,并将比对结果存储回Excel。 首先,我们需要在项目中引入Apache POI库。通常,通过Maven或Gradle这样的构建工具添加依赖即可: ```xml <!-- Maven ...
Apache POI是Java领域中广泛使用的库,专为处理Microsoft Office格式的文件而设计,特别是Excel文档。这个库使得在不依赖Microsoft Office的情况下,开发者能够读取、创建、修改和操作XLS、XLSX等Excel文件。在本文...
利用Apache POI库能够实现这一功能,即可以通过Java程序操作Excel文件,包括读取、写入、以及处理Excel中的公式。 #### 二、关键技术点 1. **POI库简介**: - Apache POI是Apache软件基金会的Jakarta项目中的一个...
在JMeter测试框架中,我们可以结合使用POI库和BeanShell组件来读取和写入Excel数据,以实现更复杂的测试场景。以下是对这个主题的详细讲解: 首先,Apache POI是一个开源的Java API,它提供了读取、写入和修改MS ...
2. **数据类型**:Excel中的数据类型包括字符串、数字、日期等,需要正确处理这些类型,防止数据丢失或转换错误。 3. **样式和格式**:POI允许设置单元格的样式,如字体、颜色、边框、对齐方式等,以增强Excel的...
Apache POI 是一个开源项目,专门用于处理Microsoft ...总之,Apache POI 是Java开发中处理Excel的强大工具,通过学习和掌握其API,我们可以轻松实现Excel文件的创建、读取和修改,为业务提供便利的数据导出功能。
对于Excel文件的处理,由于C++标准库不直接支持,通常需要借助第三方库,如LibXL、pandas(在C++环境中通过Python接口使用)或Apache POI(Java库,但可以与C++结合使用)。这些库提供了API,可以读取和写入Excel...