`
zhoushijie5230
  • 浏览: 14671 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

poi 学习之使用 Apche poi 读取数据库中的数据并写入Excel

阅读更多

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并存入数据库demo"中,我们将关注如何使用 POI 库来读取 Excel 文件,并将数据有效地存入 MySQL 数据库。 首先,要开始使用 POI,你需要在你的项目中引入相应的依赖。如果你使用的是 Maven...

    利用POI读取excel写入到word

    以上就是使用Apache POI读取Excel数据并写入Word的基本流程。在实际应用中,你可能需要处理更复杂的情况,比如合并单元格、处理公式、格式转换等,这都需要对POI API有更深入的理解。同时,为了提高性能,可以考虑...

    数据库数据写入Excel

    数据库数据写入Excel是一项常见的数据处理任务,尤其在数据分析、报告生成或数据迁移场景中非常实用。本示例中,我们将探讨如何通过编程方式,利用Java的JDBC(Java Database Connectivity)接口从数据库中获取数据...

    poi实现读取数据库,新建xlsx,写入数据库数据,设置样式,选择路径,文件下载(原创)

    以上就是关于使用Apache POI实现从数据库读取数据,创建并写入Excel文件,设置样式,选择保存路径,以及文件下载的相关知识。这个过程涉及了Java的IO、数据库操作和Web应用开发等多个方面,是Java开发中常见的数据...

    Excle读取数据转换为实体List【基于apache-poi】

    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工具类

    综上所述,"POI从数据库查询数据写入Excel工具类"是Java开发中数据处理能力的体现,结合了现代Java语言特性、Maven项目管理和POI的Excel操作,以及数据库连接技术,为企业级数据导出提供了一种高效的解决方案。

    使用POI解析excel文件并写入数据库

    本篇文章将详细讲解如何使用Apache POI解析Excel文件,并将数据写入数据库。 首先,我们需要了解Apache POI的基本概念。POI提供了一个Java API,使得开发者可以在不依赖Microsoft Office的情况下,处理Excel文件。...

    Java 使用poi导入excel 并使用xml做数据验证

    使用POI读取Excel数据的基本步骤如下: 1. 加载Excel文件:使用`WorkbookFactory.create()`方法创建一个`Workbook`实例。 2. 获取工作表:通过`Workbook`对象的`getSheetAt()`或`createSheet()`方法获取或创建工作...

    使用Poi读取大数据量excel的方法

    在Java开发中,Apache POI库是一个非常实用的工具,用于读取和写入Microsoft Office格式的文件,包括Excel。本篇文章将详细讲解如何利用Apache POI库在Android环境中高效地处理大数据量的Excel文件,无论是2003的....

    poi包 EXCEL模板读取填数据并导出以及在模板某行插入新的行

    标题中的“poi包 EXCEL模板读取填数据并导出以及在模板某行插入新的行”涉及到了Apache POI库的使用,这是一个Java API,专门用于处理Microsoft Office格式的文件,如Excel。以下是对这个主题的详细解释: Apache ...

    批量读取excel文件并利用dbcp连接池写入数据库

    2. 使用POI读取Excel文件,将数据存储到List或其他数据结构中。 3. 配置DBCP连接池,创建DataSource实例。 4. 创建线程池,例如使用ThreadPoolExecutor初始化ExecutorService。 5. 将Excel数据分割为多个部分,每...

    Apache POI for Android

    - **读取Excel**:使用Apache POI,开发者可以打开Excel文件,访问工作簿、工作表,以及单元格中的数据。例如,通过`WorkbookFactory.create()`方法加载文件,然后遍历工作表和单元格进行数据提取。 - **写入Excel...

    SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip

    在本项目中,主要使用POI来处理Excel文件,读取数据并将其导入到数据库,或者从数据库中导出数据到Excel文件。 4. **Thymeleaf**: Thymeleaf是一个现代的服务器端Java模板引擎,可以处理HTML、XML、JavaScript、CSS...

    使用POI技术读取Excel中数据,比对,并将比对结果存入Excel

    本篇文章将深入探讨如何利用POI技术读取Excel中的数据,进行比对,并将比对结果存储回Excel。 首先,我们需要在项目中引入Apache POI库。通常,通过Maven或Gradle这样的构建工具添加依赖即可: ```xml &lt;!-- Maven ...

    apache POI文件读写excel

    Apache POI是Java领域中广泛使用的库,专为处理Microsoft Office格式的文件而设计,特别是Excel文档。这个库使得在不依赖Microsoft Office的情况下,开发者能够读取、创建、修改和操作XLS、XLSX等Excel文件。在本文...

    poi excel 模板读取并导出带公式的excel文档

    利用Apache POI库能够实现这一功能,即可以通过Java程序操作Excel文件,包括读取、写入、以及处理Excel中的公式。 #### 二、关键技术点 1. **POI库简介**: - Apache POI是Apache软件基金会的Jakarta项目中的一个...

    导入poi jar包实现使用Beanshell读写Excel文件

    在JMeter测试框架中,我们可以结合使用POI库和BeanShell组件来读取和写入Excel数据,以实现更复杂的测试场景。以下是对这个主题的详细讲解: 首先,Apache POI是一个开源的Java API,它提供了读取、写入和修改MS ...

    POI生成Excel POI操作Excel POI读取Excel POI类库

    2. **数据类型**:Excel中的数据类型包括字符串、数字、日期等,需要正确处理这些类型,防止数据丢失或转换错误。 3. **样式和格式**:POI允许设置单元格的样式,如字体、颜色、边框、对齐方式等,以增强Excel的...

    Apache Poi Excel导出

    Apache POI 是一个开源项目,专门用于处理Microsoft ...总之,Apache POI 是Java开发中处理Excel的强大工具,通过学习和掌握其API,我们可以轻松实现Excel文件的创建、读取和修改,为业务提供便利的数据导出功能。

    C++实现从TXT或Excel读取数据写入数据库小工具

    对于Excel文件的处理,由于C++标准库不直接支持,通常需要借助第三方库,如LibXL、pandas(在C++环境中通过Python接口使用)或Apache POI(Java库,但可以与C++结合使用)。这些库提供了API,可以读取和写入Excel...

Global site tag (gtag.js) - Google Analytics