/**
* 导出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表格中,压缩文件里包括jxl.jar包、例子源代码、txt文档代码
JXL操作EXCEL 数据库导出EXCEL相关文件一些详细资料
使用jxl方式实现Excel表格导出,非常简单而且实用
使用Jxl对Excel进行导入导出,其中包含设置单元格样式以及数据有效性。
jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程 jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程
jxl导出excel加水印 WritableWorkbook、WritableSheet、WritableCellFormat
jxl导入导出excel 详细的描述了如何使用jxl导入导出excel。
绝对不会让你失望。自己找了好多帮助才实现的哦,希望对你有帮助。互相学习
jxl导出excel工具类,封装好了的,实现传递任意集合自动导出excel
jxl工具类导出excel,导出详细说明,及相关代码和jar,如有不明白私聊
Android使用jxl快速导出excel表
java jxl导出excel文件前两天公司的同事用java jxl写了一段导出excel的代码,值得学习,现提供代码
jxl从数据库中直接导出excel文档java源码
java版本通过JXL使用模板导出EXCEL
jxl实现excel导出完整的例子!虽然这个不是和数据库没有联系但是请放心我保证你看了我的这个例子后绝对会自己做出和数据库连接的例子!有事联系我们共同探讨 QQ:376707296
struts2导出excel java 导出excel: JXL_excel: 可以直接在elipse下运行的例子 可以直接导出excel文件(包含所需的jar包) CSharpJExcel: 是JXL的官方下载的 包括详细的文档 和jar包
使用jxl导出Excel表的好例子 导出excel表的例子
利用JXL技术支持模板和非模板的表格导出
jxl.jar,纯java编写,实现excel导入导出,也就那么回事