itext poi 学习之旅 (3)读取数据库信息并由excel展现出来
DBConnection.java
连接数据库操作
package com.zkbj.poi; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class DBConnection {
private final String DBUrl = "jdbc:mysql://localhost:3306/****"; //1.修改数据库名
private final String DBDriver = "com.mysql.jdbc.Driver";
private final String username = "**"; //2.修改成你的MySql登录名和密码
private final String password = "***";
private Connection con; public DBConnection() {
try {
Class.forName(DBDriver);
con = DriverManager.getConnection(DBUrl, username, password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public Connection getDB() {
return con;
} public void closeDb(ResultSet rs, PreparedStatement ps) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
ProductDir.java
读取产品信息数据并导出execl格式数据
package com.zkbj.poi; import java.io.FileOutputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ProductDirExcel {
public ProductDirExcel() throws Exception {
Connection con = null;
DBConnection db = new DBConnection();
con = db.getDB();
String sql = "select * from productdir";
ResultSet rs = con.createStatement().executeQuery(sql);
// 获取总列数
int CountColumnNum = rs.getMetaData().getColumnCount();
int i = 1;
// 创建Excel文档
HSSFWorkbook wb = new HSSFWorkbook();
// sheet 对应一个工作页
HSSFSheet sheet = wb.createSheet("productdir表中的数据"); //3.修改成你的Sheet
HSSFRow firstrow = sheet.createRow(0); // 下标为0的行开始
HSSFCell[] firstcell = new HSSFCell[CountColumnNum];
String[] names = new String[CountColumnNum];
names[0] = "产品ID"; //4.修改成你的数据库数据名称。
names[1] = "产品名称";
names[2] = "产品版本";
names[3] = "产品备注";
names[4] = "产品分类ID"; for (int j = 0; j < CountColumnNum; j++) {
firstcell[j] = firstrow.createCell((short) j);
firstcell[j].setCellValue(new HSSFRichTextString(names[j]));
}
while (rs.next()) {
// 创建电子表格的一行
HSSFRow row = sheet.createRow(i); // 下标为1的行开始
for (int j = 0; j < CountColumnNum; j++) {
// 在一行内循环
HSSFCell cell = row.createCell((short) j);
// 设置表格的编码集,使支持中文
// // 先判断数据库中的数据类型
// 将结果集里的值放入电子表格中
cell.setCellValue(new HSSFRichTextString(rs.getString(j + 1)));
}
i++;
}
// 创建文件输出流,准备输出电子表格
OutputStream out = new FileOutputStream("D:\\productdir.xls"); //5.修改成你创建Excel路径 并有这个文件展示数据
wb.write(out);
out.close();
System.out.println("数据库导出成功");
rs.close();
con.close();
} public static void main(String[] args) {
try {
@SuppressWarnings("unused")
ProductDirExcel excel = new ProductDirExcel();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
经过以上步骤可以使我们能够从数据库中导出数据并由Execel表示出来。
如果需要导出其他数据库只需要修改几组程序就可以完美表现出来,由于博主初学poi 所以对其Css设计还未了解。。。以后还会更新,期待我下次更新吧。。
itext poi 学习之旅 (3)读取数据库信息并由excel展现出来的更多相关文章
- itext poi 学习之旅 (1)创建pdf
从零开始学习itext 创建pdf 1.用到流进行创建的pdf import java.io.File; import java.io.FileOutputStream; import com.ite ...
- itext poi 学习之旅 (2)创建excel
Computer.java package com.qiang.poi; public class Computer { private int id; private String name; pr ...
- 读取数据库信息并生成表设计文档Word版本
1.参考C#代码 using Help.DBAccessLayer.Business; using Help.DBAccessLayer.Model.SqlGenerator; using Newto ...
- 通过JDBC连接数据库(MySql为例)并读取数据库信息--JSP基础
1.先建数据库,数据库名为:employee_DB;然后在数据库employee_DB下建表,表名为employee;最后插入数据. create database employee_DB; use ...
- MVC+Servlet+mysql+jsp读取数据库信息
首先有以下几个包: 1.controller 控制层,对用户的请求进行响应 2.dao 数据层接口标准 3.daoimpl 数据层实现层 4.model 实体类层 5.service 业务层接口标准 ...
- C#语句从MySQL中简单的读取数据库信息
protected void Page_Load(object sender, EventArgs e) { //数据库+Json MyJson.JsonNode_Object json = new ...
- app开发中读取数据库信息的vue页面
<template> <!-- 容器 --> <div class="container"> <!-- 标头 --> <div ...
- UEditor如何读取数据库信息?
你用的什么语言,服务器端生成的时候,直接写在里面就可以了啊,比如 <textarea name="content" cols="800" rows=&qu ...
- Python爬虫学习(二) ——————爬取前程无忧招聘信息并写入excel
作为一名Pythoner,相信大家对Python的就业前景或多或少会有一些关注.索性我们就写一个爬虫去获取一些我们需要的信息,今天我们要爬取的是前程无忧!说干就干!进入到前程无忧的官网,输入关键字&q ...
随机推荐
- 转载:执行脚本出现bin/bash: bad interpreter: No such file or directory
转载网址:http://blog.csdn.net/red10057/article/details/8051650 刚刚学习 SHELL 写了一个简单的例子 发生如下错误 -bash: ./test ...
- 一个读取C#特性Description方法
class Program { static void Main(string[] args) { string str= DB.write.ToDescription(); Console.Writ ...
- 02 - 替换SetInput方法 VTK 6.0 迁移 (2013-06-30 16:22)
VTK6 引入了许多不兼容的变化,这其中就包括用SetInputData()和SetInputConnection()替换SetInput()方法.在先前的版本中,VTK4 引入了SetInput() ...
- 从win7到mac os再到win10,体验总结
首先介绍自己的身份,软件工程毕业,现在IT男一枚,php程序员(前端必须会的啦). 原先自己用的是win7系统,大学四年都在用,所以习惯了.开发方式也是传统式的,以文件概念为主(就是手动管理文件),版 ...
- DES加解密实现方式
private static readonly byte[] _keys = { 0x22, 0x84, 0x56, 0x98, 0x90, 0xAB, 0xpD, 0xEF }; private s ...
- ural 1333 Genie Bomber 2
#include <cstdio> #include <cstring> #include <algorithm> #define maxn 200 using n ...
- 完整的开发一个ContentProvider步骤
1.定义自己的ContentProvider类,该类需要继承Android提供的ContentProvider基类.2.向Android系统注册这个"网站",也就是在Android ...
- C51 库函数
C-51软件包的库包含标准的应用程序,每个函数都在相应的头文件(.h)中有原型声明.如果使用库函数,必须在源程序中用预编译指令定义与该函数相关的头文件(包含了该函数的原型声明).例如:#include ...
- Windows 中默认安装的.Net 版本
Windows contains a version of .NET by default. Here's a listing of them. XP .NET v1.0 -- Service pac ...
- oschina BI商业智能开源软件
54款 BI商业智能开源软件 MySQL数据仓库解决方案 Infobright OLAP 分析引擎 Apache Kylin 数据处理和分发系统 Apache NiFi OLAP 数据查询引擎 Dru ...