eclipse sql server 导出excel文件
Jxl.jar
访问Excel的Jar包
注意:支持以.xls结尾的Excel文件,可能不支持.xlsx结尾的
下载地址:
程序所需要得包:

程序代码:
package partice;
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import javax.swing.JOptionPane;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class export {
static ResultSet rs = null;
static ResultSetMetaData rsData = null;
static int sheetIndex = 0; // 计数器,起始为0
static int perPageSize = 60000;// excel2003每张表最大为65536行
static String fileName = "调剂学生信息.xls";// 新建的表格名称
static String URL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=studentdatabase";// 数据库IP地址
static String DriverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
static String username = "sa";// 用户
static String password = "19940503";// 密码
public void main(String[] args) throws Exception {
connectOracle();
}
public void connectOracle() throws SQLException, ClassNotFoundException {
Connection conn = null;
Class.forName(DriverName);
long begintime = System.currentTimeMillis();
try {
System.out.println("数据库连接开始:" + new Date(System.currentTimeMillis()));
conn = DriverManager.getConnection(URL, username, password);
Statement state = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql = "select * from register";
rs = state.executeQuery(sql);
rsData = rs.getMetaData();// 获得所需要的rs信息
rs.last();
int size = rs.getRow();// 列数
rs.beforeFirst();
int sheetsize = size / perPageSize + 1;// sheetsize是sheet的总页数
writeexcel(rs);// 新建一个excel,并且写入第一张表,每次只能写一张表
for (int i = 1; i < sheetsize; i++) {
System.out.println(2);
updateexcel(rs);// 写入后面的后面的表
}
} catch (Exception e) {
System.out.println("数据库连接错误");
e.printStackTrace();
} finally {
conn.close();
System.out.println("数据库连接关闭!用时:"
+ (System.currentTimeMillis() - begintime) + "ms");
JOptionPane.showMessageDialog(null, "导出成功", "提示信息", JOptionPane.WARNING_MESSAGE);
}
}
static void writeexcel(ResultSet rs) throws IOException, Exception,
WriteException {
WritableWorkbook book = Workbook.createWorkbook(new File(fileName));
WritableSheet sheet = book.createSheet("第" + (sheetIndex + 1) + "页",
sheetIndex);
int i = 1;// 每一页设为第一行
while (rs.next()) {
for (int j = 1; j <= rsData.getColumnCount(); j++) {
Label label = new Label(j - 1, i, rs.getString(j) == null ? ""
: rs.getString(j).toString());
if (i == 1) {// 标题只加载第一次
Label titleLabel = new Label(j - 1, 0, rsData
.getColumnName(j));
sheet.addCell(titleLabel);
}
sheet.addCell(label);
}
i++;
if (i > perPageSize) {
break;
}
}
sheetIndex++;
book.write();
book.close();
}
static void updateexcel(ResultSet rs) throws BiffException, IOException,
RowsExceededException, WriteException, SQLException {
Workbook wb = Workbook.getWorkbook(new File(fileName));
WritableWorkbook book = Workbook.createWorkbook(new File(fileName), wb);
WritableSheet sheet = book.createSheet("第" + (sheetIndex + 1) + "页 ",
sheetIndex);
int i = 1;// 每一页设为第一行
while (rs.next()) {
for (int j = 1; j <= rsData.getColumnCount(); j++) {
Label label = new Label(j - 1, i, rs.getString(j) == null ? ""
: rs.getString(j).toString());
if (i == 1) {// 标题只加载第一次
Label titleLabel = new Label(j - 1, 0, rsData
.getColumnName(j));
sheet.addCell(titleLabel);
}
sheet.addCell(label);
}
i++;
if (i > perPageSize) {
break;
}
}
sheetIndex++;
book.write();
book.close();
}
}
对应数据库



java实现数据库导出ECXL表格:ttps://blog.csdn.net/captian_900331/article/details/49689199
eclipse sql server 导出excel文件的更多相关文章
- SQL Server 导出Excel有换行的解决方法
参考地址::https://vcoo.cc/blog/1234/ 从 SQL Server 查询结果中复制结果数据粘贴到 Excel 中存在这么个问题:如果字段内容中有换行符,那么粘贴到 Excel ...
- SQL Server导入Excel文件报错
目录 文本被截断,或者一个或多个字符在目标代码页中没有匹配项 原因 解决方法 该值违反了该列的完整性约束 空行 没有设置为允许为NULL 我以前也导入过数据,也没报错,今天再次导入数据的时候,发现了两 ...
- SQL SERVER导入EXCEL文件:无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OLEDB.12.0" 的实例。
[方法一] --开启导入功能 exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'A ...
- SQL SERVER导入EXCEL文件:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序
1.安装相关组件 2.程序生成属性32位改为64位
- 如何从sql server导出到csv文件
如何从sql server导出到csv文件,具体代码如下: private static void WriteHeader(SqlDataReader reader, TextWriter outpu ...
- sql server 导出的datetime结果 CAST(0x00009E0E0095524F AS DateTime) 如何向mysql,oracle等数据库进行转换
1. 处理 sql server 导出的 datetime 类型的字段 在进行sql server向mysql等其他数据进行迁移数据时,会发现使用sql server导出的datetime类型的结果是 ...
- SQL SERVER导出特殊格式的平面文件
有时候我们需要将SQL SERVER的数据一次性导入到ORACLE中,对于数据量大的表.我一般习惯先从SQL SERVER导出特殊格式的平面文件(CSV或TXT),然后用SQL*Loader装载数据到 ...
- PHP从数据库导出EXCEL文件
参考博客链接:http://www.cnblogs.com/huangcong/p/3687665.html 我的程序代码 原生导出Excel文件 <?phpheader('Content-ty ...
- PHP导出excel文件
现在教教你如何导入excel文件: 在我的文件储存里面有一个com文件夹的,将其解压放在ThinkPHP/Library/文件夹里面,然后就是写控制器啦!去调用这个插件: <?php names ...
随机推荐
- Uva12716 素数筛思想的应用
Uva12716 题意: 输入整数n,1<= n <=3e7,问有多少个整数对(a,b)满足:1 <= b <= a <= n,且gcd(a,b)== a XOR b 解 ...
- PHP Magic Method Setter and Getter
<?php /* Magic method __set() and __get() 1.The definition of a magic function is provided by the ...
- MySQL 8 批处理模式
shell> mysql -h host -u user -p < batch-file 强制执行脚本,即使某些语句参数错误,可以添加 --force 参数 如果MySQL运行在Windo ...
- 解决officeOnline文档预览服务器只能域名提交的限制Redirect
此项目是解决officeOnline文档预览只能用域名提交的限制 http://officeOnline文档预览域名或IP/op/generate.aspx // 微软原生页面 创建链接后会生成全屏预 ...
- Jquery实现挂号平台首页源码2
第二个版本:点击预约挂号可跳转到排班表,获取之后7个星期的排班 先放图 首先是index.html <!DOCTYPE html> <html lang="en" ...
- sql-labs 18-20(sqlmap注入)
这三题主要是关于HTTP头部的注入 常见的HTTP注入点产生位置为 [Referer].[X-Forwarded-For].[Cookie].[X-Real-IP].[Accept-Language] ...
- 2020牛客寒假算法基础集训营6 E.立方数(唯一分解定理 素数筛)
https://ac.nowcoder.com/acm/contest/3007/E 放下题解 #include<bits/stdc++.h> using namespace std; t ...
- 更改pip为豆瓣源加速下载
需求 Python默认pip下载太慢,更改pip为豆瓣源 文件位置 Git Bash Windows $ vi ~/pip/pip.ini Linux $ vi ~/.pip/pip.conf 内容 ...
- jQuery---固定导航栏案例
固定导航栏案例 <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...
- 假期学习【三】HDFS操作及spark的安装/使用
1.安装 Hadoop 和 Spark 进入 Linux 系统,参照本教程官网“实验指南”栏目的“Hadoop 的安装和使用”,完 成 Hadoop 伪分布式模式的安装.完成 Hadoop 的安装以后 ...