问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java代码怎样将oracle数据库中数据下载本地,为.txt文件或者.excel文件。

发布网友 发布时间:2022-04-08 11:24

我来回答

4个回答

热心网友 时间:2022-04-08 12:53

第一个类:

package totabel.action;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JOptionPane;

import topdf.TableToPdf;
import totabel.view.TabelData;
import totabel.xls.ExcelDemo;

public class TableAction implements ActionListener {
TabelData data;

public TableAction(TabelData data) {
this.data = data;
}

public void actionPerformed(ActionEvent e) {
String str = e.getActionCommand();
if ("添加".equals(str)) {
data.addData();
} else if ("导出到Excel".equals(str)) {
ExcelDemo demo = new ExcelDemo();
demo.method(data);
} else if ("删除".equals(str)) {
if (data.getRow() != -1) {
data.delRow();
} else {
JOptionPane.showMessageDialog(null, "请选择要删除的行!");
}
}else if("从Excel导入".equals(str)){
data.getXlsInfo();
}else if("从Excel导入到数据库".equals(str)){
data.toDb();
}else if("从table导出到pdf".equals(str)){
TableToPdf pdf=new TableToPdf();
pdf.newPage(data);
}else if("计算学分".equals(str)){
data.getXlsInfoToCredit();
}
}

}

第二个类:数据库连接
package totabel.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcConnection {
private static JdbcConnection con;

public static JdbcConnection getCon() {
if (con == null) {
con = new JdbcConnection();
}
return con;
}

public Connection getConnection() {
Connection connection=null;
try {
Class.forName("oracle.jdbc.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:oracle";
String user = "scott";
String password = "tiger";
connection = DriverManager.getConnection(url, user,
password);

} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
// public static void main(String[] args) {
// JdbcConnection connection=new JdbcConnection();
// connection.getConnection("asd", "99");
// }

}

第三个类:主类(入口)
package totabel.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcConnection {
private static JdbcConnection con;

public static JdbcConnection getCon() {
if (con == null) {
con = new JdbcConnection();
}
return con;
}

public Connection getConnection() {
Connection connection=null;
try {
Class.forName("oracle.jdbc.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:oracle";
String user = "scott";
String password = "tiger";
connection = DriverManager.getConnection(url, user,
password);

} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
// public static void main(String[] args) {
// JdbcConnection connection=new JdbcConnection();
// connection.getConnection("asd", "99");
// }

}
第四个类:
package totabel.xls;

import java.io.File;
import java.io.IOException;
import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.JOptionPane;

import totabel.view.TabelData;

import jxl.Cell;
import jxl.Sheet;
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 ExcelDemo {

/**
*
* @param args
*/
private Vector title = new Vector();

private Vector[] array;

// public static void main(String[] args) {
// ExcelDemo demo = new ExcelDemo();
// demo.getXlsInfo();
//
// }

public void method(TabelData table) {
int row = table.getRowSize();
int column = table.getColumnSize();
WritableWorkbook book = null;
Vector title = table.setTitle();
Object[] str = title.toArray();
try {
book = Workbook.createWorkbook(new File("test.xls"));
WritableSheet sheet = book.createSheet("成绩表", 0);
for (int i = 0; i < str.length; i++) {
sheet.addCell(new Label(i, 0, (String) str[i]));
}
for (int i = 1; i < row + 1; i++) {
for (int j = 1; j < column + 1; j++) {
sheet.addCell(new Label(j - 1, i, table.getTableInfo(i - 1,
j - 1)));
}
}
book.write();
JOptionPane.showMessageDialog(null, "导出完成!");
} catch (IOException e) {
e.printStackTrace();
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
} finally {
try {
book.close();
} catch (WriteException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

/**
* 输出Excel的数据到表单
*
* @return
*/
public Vector getXlsInfo() {
Vector v = new Vector();
jxl.Workbook rwb = null;
int index = 0;
try {
rwb = jxl.Workbook.getWorkbook(new File("test.xls"));
Sheet[] sheet = rwb.getSheets();
for (int i = 0; i < sheet.length; i++) {
int rs = sheet[i].getRows();
array = new Vector[rs - 1];
for (int j = 1; j < rs; j++) {
Cell[] cell = sheet[i].getRow(j);
Vector info = new Vector();
for (int k = 0; k < cell.length; k++) {
info.add(cell[k].getContents());
}
array[index] = info;
index++;
v.add(info);
}
Cell[] titleCell = sheet[i].getRow(0);
for (int j = 0; j < titleCell.length; j++) {
title.add(titleCell[j].getContents());
}
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
rwb.close();
}
return v;
}

public Vector getXlsInfoToCredit() {
Vector v = new Vector();
jxl.Workbook rwb = null;
try {
rwb = jxl.Workbook.getWorkbook(new File("d:/test/信科0821(南迁).xls"));
Sheet[] sheet = rwb.getSheets();
for (int i = 0; i < sheet.length; i++) {
int rs = sheet[i].getRows();
array = new Vector[rs - 1];
for (int j = 1; j < rs; j++) {
Cell[] cell = sheet[i].getRow(j);
Vector info = new Vector();
for (int k = 0; k < cell.length; k++) {
// if(){
Pattern p = Pattern.compile("[0-9]{1,}");
Matcher m = p.matcher(cell[k].getContents());
if (m.matches()) {
int score = Integer.valueOf(cell[k].getContents());
float result = getScore(score);
info.add(result);
} else {
info.add(cell[k].getContents());
}
}
v.add(info);
}
Cell[] titleCell = sheet[i].getRow(0);
for (int j = 0; j < titleCell.length; j++) {
title.add(titleCell[j].getContents());
}
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
rwb.close();
}
return v;
}

public float getScore(int n) {
float score = n;
if (n < 60) {
score = 0;
return score;
} else {
if (n >= 60 && n <= 63) {
score = (float) 1.0;
} else if (n >= 64 && n <= 67) {
score = (float) 1.3;
} else if (n >= 68 && n <= 71) {
score = (float) 1.7;
} else if (n >= 72 && n <= 75) {
score = (float) 2.0;
} else if (n >= 76 && n <= 79) {
score = (float) 2.3;
} else if (n >= 80 && n <= 83) {
score = (float) 2.7;
} else if (n >= 84 && n <= 87) {
score = (float) 3.0;
} else if (n >= 88 && n <= 91) {
score = (float) 3.3;
} else if (n >= 92 && n <= 95) {
score = (float) 3.7;
} else if (n >= 96 && n <= 100) {
score = (float) 4.0;
}
return score;
}

}

public Vector getTitle() {
// getXlsInfo();
return title;
}

public Vector[] getArray() {
getXlsInfo();
return array;
}

}

因为时间问题就没有再写了,上面是我以前做的,不懂就q我

参考资料:如果您的回答是从其他地方引用,请表明出处

热心网友 时间:2022-04-08 14:11

用JDBC连接数据库,执行SQL语句取得结果,存入一个集合中,再用文件输入流写入特定文件中。和匿名的那位说得差不多。

热心网友 时间:2022-04-08 15:46

直接用批吧,还用Java,麻烦
补充:你不会用批跑JAVA吗?

热心网友 时间:2022-04-08 17:37

在你的程序里执行查询,拿到一个记录集,然后遍历这个记录集,每条记录写一行文本。我只能这么说了,呵呵
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华丽转身为什么在优酷看不了了之 《华丽转身:爱情不在服务区》txt全集下载 翡翠台华丽转身英文曲 matplotlib中plt.imshow函数画图出现的颜色问题 数字图像处理(c++ opencv):形态学图像处理-提取连通域 ...opencv做东西,网上的程序读着还可以,程序遇到问题不会改,一些函_百... 深度学习面试问题总结 | 传统图像处理——OpenCV 活虾如何在晚上保持存活状态进行保存? neu代表什么意思 民办学校和私立学校的区别是什么民办学校和私立学校的区别 怎么把sql server数据库中表的数据导出成TXT格式,或者是excel表格。最好都说一下,谢谢 如何导出数据库中的数据为Excel格式和文本格式? sql语句中,如何表示单引号 如何在SQL 的字符串内使用单引号 c# sql语句 提交内容带有单引号导致sql语句执行失败,如何处理? sql语句执行指定存储过程在参数字符串中加like对引号的处理 sql语句里面的引号怎么用啊? java和sql执行语句中引号和单引号的区别怎么解释? 通过SQL语句怎么去掉值中的单引号 sql 查询的结果如何加上单引号。 SQL查询语句中单引号和双引号的问题 SQL语句里需要使用单引号怎么办 gp或者pg数据库,编写函数过程中,sql字符串拼接单引号的问题? C# 中 Sql语句 怎么处理单引号 C#中编写SQL语句出现单引号怎么办 关于SQL中单引号的处理 sql语句插入的数据中含有单引号怎么办? 对于sql中含有含有单引号情况下怎么处理 sql语句中有单引号怎么办 SQL语句能直接操作一张表的某个值加1,或者减1吗? 我想讲Excel的数据导出,每个Sheet导出成一个txt.的文件,怎么能实现呢? oracle 数据库把查询一个表的数据添加到另一个表里, 可是其中一列是固定值。。 求大神 解答。 Oracle 查询表里数据条数,并将查到的结果重新插入表中? oracle存储过程查找表数据插入另一个表中。。 什么是命名SQL 我现在下了一个sql数据库 但是我怎么反映到我本地的SQL数据库里面? sql数据库重命名 本地SQL查询是指什么(定义)? c#怎么调用本地sql数据库 进行 查询 sql server服务和sql server命名实例这两个概念有什么区别? 程序开发中与本地的SQL sever2005数据库进行连接!!! EOS如何使用代码对命名SQL文件进行部署 SQL千万级数据库模糊查询问题? 关于SQL语句的模糊查询 sql server 模糊查询语法 sql模糊查询.net sql模糊查询的sql语句怎么写 windows搜索中的索引是什么意思,原理是什么 oracle 为什么使用索引以后就可以提高查询效率?索引的工作原理是什么? SqlServer应用索引的好处,c#中如何应用索引?