/**
* 导出Excel
* @param filePath 导出文件(模板)路径
* @param sql 导出的SQL语句
* @param startLine 起始行
* @param printTitle 是否打印标题
* @throws Exception
*/
public void doExport(String filePath , String sql , int startLine , boolean printTitle) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:yz", "scott", "tiger"); //获取数据库连接
WritableWorkbook book = null ;
WritableSheet sheet = null ;
if(new File(filePath).exists()){
Workbook wb = Workbook.getWorkbook(new File(filePath));
book = Workbook.createWorkbook(new File(filePath), wb); // 添加一个工作表
sheet = book.getSheet(0);
}else {
book = Workbook.createWorkbook(new File(filePath)); // 第一步
sheet = book.createSheet("第一页", 0); // 创建Sheet
}
PreparedStatement pstm = conn.prepareStatement(sql);
ResultSet rs = pstm.executeQuery(); //获取数据集
ResultSetMetaData rsmd = rs.getMetaData(); //获取表头
int colCnt = rsmd.getColumnCount(); //获取数据集的列数
if(printTitle){
/**
* 定义单元格样式
*/
WritableFont wf = new WritableFont(WritableFont.ARIAL, 15, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK); // 定义格式 字体 下划线 斜体 粗体 颜色
WritableCellFormat wcf = new WritableCellFormat(wf); // 单元格定义
wcf.setBackground(jxl.format.Colour.BLACK); // 设置单元格的背景颜色
wcf.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式
sheet.setRowView(startLine, 1000); // 设置行的高度
//打印标题头
for(int k = 1; k < colCnt + 1; k++){
String title = rsmd.getColumnName(k);
Label labelTitle = new Label( k-1 , startLine , title , wcf);
sheet.setColumnView(k-1 , 30); // 设置列的宽度
sheet.addCell(labelTitle);
}
startLine++ ;
}
//打印sql语句查出来的数据
while (rs.next()) {
for (int j = 1; j < colCnt+1; j++) {
String colName = rsmd.getColumnName(j);
String colValue = rs.getString(colName);
Label label = new Label(j-1, startLine, colValue);
sheet.addCell(label);
}
startLine++;
}
book.write();
book.close();
pstm.close();
conn.close();
}
分享到:
相关推荐
要实现"jxl从数据库中直接导出excel文档",我们遵循以下步骤: 1. **设置环境**:首先,确保你的项目中已经包含了JXL库的jar文件。你可以通过Maven或Gradle等构建工具将其作为依赖添加到项目中。 2. **数据库连接*...
jxl结合IBATIS,导出EXCEL。读取EXCEL模板,把数据写到新的EXCEL中。sql语句中要起别名,别名第一位为字母,第二位包括第二位要是整数数字,这个数字决定插入到excel表格中的位置,决定插入的是那一列。EXCEL模板中...
在Java开发中,有时我们需要将数据库中的数据导出到Excel文件,或者从Excel文件导入数据到数据库。Apache POI是一个流行的API,专为处理Microsoft Office格式的文件,如Excel(.xlsx, .xls)。本教程将详细介绍如何...
接着,建立JDBC连接到Oracle数据库,创建SQL语句插入数据,并执行这些语句将Excel中的数据导入到数据库中。 在实际应用中,需要注意以下几点: - 数据类型转换:Excel和数据库中的数据类型可能不同,因此在导入和...
首先,我们需要在项目中配置Oracle JDBC驱动,然后创建数据库连接,预编译SQL语句,最后执行插入操作。以下是一个基本示例: ```java import java.sql.*; public class OracleImporter { public static void main...
本项目“Java完美导出Excel程序”是利用Java技术实现的一种高效、灵活的数据导出工具,它允许开发者通过输入SQL查询和指定Excel文件名,自动生成包含查询结果的Excel文件。这一功能在数据分析、报表生成以及数据共享...
总的来说,这个示例提供了从Oracle数据库导出数据到Excel的一种解决方案,使用了JXL库来创建和操作Excel文件,同时依赖Oracle的JDBC驱动进行数据库连接。通过理解和应用这些技术,开发者可以构建自己的数据导出工具...
2. **执行SQL查询**:编写SQL语句,查询需要导出的数据。如果包含BLOB字段,记得使用游标处理大对象。 ```java Statement stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);...
在这个案例中,我们将探讨如何在SSH框架下实现从网页导出Excel文件的功能,而无需依赖第三方库如Apache POI或jxl。 1. **SSH框架简介** - **Spring**:一个全面的轻量级容器,提供依赖注入(DI)和面向切面编程...
JXL允许你遍历Excel行和列,然后使用SQL语句或ORM框架(如Hibernate或MyBatis)将数据插入到合适的数据库表中。这对于数据迁移、数据清洗或数据分析非常有用。 3. **从数据库导出Excel**:同样,JXL也可以帮助将...
5. **下载或发送**:根据需求,你可以提供一个下载链接,让用户直接下载导出的Excel文件,或者通过邮件等方式将文件发送给用户。 以上就是关于“Excel数据导入导出”以及结合Oracle存储过程和JXL库进行操作的基本...
首先读取Excel文件,然后创建一个数据处理逻辑,将每行数据映射到SQL的插入语句,最后批量执行这些SQL语句。这样可以大大提高数据导入的效率。 总的来说,JExcelAPI是一个强大的工具,它简化了Java应用程序与Excel...
本篇文章将深入探讨如何利用jxl库来实现Excel报表的导出以及将Excel中的数据插入到数据库。 首先,让我们了解jxl库的基本概念。jxl是一个开源项目,它提供了Java程序员与Excel文件进行交互的能力。通过jxl,我们...
### Oracle Form导出Excel实例解析 #### 核心知识点:Oracle Form与数据导出 Oracle Form是一个基于Oracle数据库的应用开发工具,它提供了创建、编辑和运行数据库应用程序的能力。通过Oracle Form,开发者能够设计...
通过JDBC,我们可以编写SQL语句或使用预编译的PreparedStatement来插入数据。如果数据量大,可能还需要考虑批处理操作,以提高导入效率。 标签中的"jxl"指的就是JXL库,它在Java中用于处理Excel文件。JXL提供了以下...
3. **Excel导出**:导出Excel文件时,同样需要创建`Workbook`和`Sheet`,然后在每个单元格上写入数据。对于金额,确保精度和格式的正确性至关重要。可以使用`NumberCell`来创建数值单元格,并设置小数位数以保证100%...
JDBC是Java标准的一部分,提供了一套API来连接数据库,执行SQL语句,以及获取结果集。要与SQL Server 2005通信,我们需要微软提供的JDBC驱动(如`sqljdbc4.jar`,通常与SQL Server安装包一起提供),将其添加到Java...
使用jxl,你可以方便地将数据导出为Excel格式,或者从Excel文件中导入数据,这对于数据分析、报表生成和数据交换等场景非常有用。以下是一些使用jxl的关键知识点: 1. **安装与导入**:将下载的jxl.jar添加到项目的...