当前位置:首页 » 数据仓库 » java导出数据库txt
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

java导出数据库txt

发布时间: 2022-04-23 06:42:07

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

第一个类:

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我

Ⅱ 怎么用JAVA把Mysql数据库中的表的数据输出至文本文档中

首先导入 mysql-connector-java-5.1.45-bin.jar 包

代码如下:

importjava.io.*;
importjava.sql.*;

publicclassApp{

publicstaticvoidmain(String[]args){

try{

Class.forName("com.mysql.jdbc.Driver");

//数据库用户
Stringuser="root";

//数据库密码
Stringpassword="";

Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/db_sale",user,password);

Statementstmt=conn.createStatement();

//查询,从数据库db_sale的proct表中查询id,name,qty字段
ResultSetrs=stmt.executeQuery("SELECTid,name,qtyFROMproct");

//创建输出文件result.txt
Filefile=newFile("d://result.txt");
OutputStreamWriterwriter=newOutputStreamWriter(newFileOutputStream(file));

while(rs.next()){

writer.write(String.valueOf(rs.getLong(1))+" ");
writer.write(rs.getString(2)+" ");
writer.write(String.valueOf(rs.getInt(3)));
writer.write(" ");

//System.out.println(rs.getLong(1));
//System.out.println(rs.getString(2));
//System.out.println(rs.getLong(3));
}

writer.flush();
writer.close();

rs.close();
stmt.close();
conn.close();

}catch(Exceptione){
e.printStackTrace();
}
}
}

Ⅲ 用java代码把txt文档中资料导入到数据库

BufferedReader input;
try {
String s = new String();
input = new BufferedReader(new FileReader("f:\\123.txt"));
while ((s = input.readLine()) != null) { // 判断是否读到了最后一行
String info[] = s.split(" ");
System.out.println( info[0] + " " + info[1] + " " + info[2] );
}
input.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
把info[0] + " " + info[1] + " " + info[2] 这三个值放在insert语句里就行了 经过测试

Ⅳ java如何从数据库读取数据并写入txt文件

写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!

[java]viewplain
packagee.thu.keyword.test;

importjava.io.File;
importjava.io.InputStreamReader;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileInputStream;
importjava.io.FileWriter;

publicclasscin_txt{
staticvoidmain(Stringargs[]){
try{//防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw

/*读入TXT文件*/
Stringpathname="D:\twitter\13_9_6\dataset\en\input.txt";//绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径
Filefilename=newFile(pathname);//要读取以上路径的input。txt文件
InputStreamReaderreader=newInputStreamReader(
newFileInputStream(filename));//建立一个输入流对象reader
BufferedReaderbr=newBufferedReader(reader);//建立一个对象,它把文件内容转成计算机能读懂的语言
Stringline="";
line=br.readLine();
while(line!=null){
line=br.readLine();//一次读入一行数据
}

/*写入Txt文件*/
Filewritename=newFile(".\result\en\output.txt");//相对路径,如果没有则要建立一个新的output。txt文件
writename.createNewFile();//创建新文件
BufferedWriterout=newBufferedWriter(newFileWriter(writename));
out.write("我会写入文件啦 ");// 即为换行
out.flush();//把缓存区内容压入文件
out.close();//最后记得关闭文件

}catch(Exceptione){
e.printStackTrace();
}
}
}

Ⅳ JAVA查询数据库结果怎么用缓冲区输出到txt中

结合PrintStream 可以的,如下例子
OutputStream outputStream = new FileOutputStream(”“);
PrintStream ps=new PrintStream(outputStream);
ps.printf("%1$s\t %2$15s\t %3$15s\r\n", "ID", "中文", "英文");

Ⅵ java 从数据库取出数据并保存到本地文本中

先看数据库表, 我里面有46条记录,其中有三条重复,我就拿其中一条emp_id 为"

DWR65030M" 做例子

里面有两条记录 ,实现了

Ⅶ java 通过流将从数据库中查出来的数据生成一个txt文件,如何实现数据 列像表格一样对齐

用java 1.5以上PrintWriter或者PrintStream新加的printf方法吧,可以像c语言的printf格式化每个栏位的长度的
比如:
public static void main(String[] args) {
for (int i = 0; i < 20; i += 3) {
System.out.printf("i=%5d\n", i);
}
}

要是写文件的话,就用PrintWriter套到Writer上,或者PrintStream套到OutputStream上,比如:
public static void main(String[] args) {
try{
FileOutputStream fos=new FileOutputStream("text.txt");
PrintStream ps=new PrintStream(fos);

for (int i = 0; i < 20; i += 3) {
ps.printf("i=%5d\n", i);
}
}catch(IOException e){
e.printStackTrace();
}
}

Ⅷ Java怎么导出数据库数据以,为分隔符到TXT文件

什么意思不大清楚。如果是要把数据库的数据保存到txt文件中,可以先读取数据库的信息,然后用文件的方式将数据按照指定的格式写入到txt文件。

Ⅸ 如何通过java将查询出的数据通过数据库直接导出到txt文件

//查询数据获取resultSet
while(rs.next()){
//直接写到文件
}

Ⅹ 如何用java实现mysql数据库的导入导出

MySql导出数据库的命令如下:
Sql代码
mysqlmp -uusername -ppassword -hhost -Pport exportDatabaseName > exportPath
mysqlmp -uusername -ppassword -hhost -Pport exportDatabaseName > exportPath

利用Java调用命令窗口执行命令来进行MySql导入数据库一般分三步走:
第一步:登录Mysql数据库,在登录数据库的时候也可以指定登录到哪个数据库,如果指定了则可以跳过第二步;
第二步:切换数据库到需要导入的目标数据库
第三步:利用命令开始导入

在进行导出的时候,需要注意命令语句的运行环境,如果已经将mysql安装路径下的bin加入到
系统的path变量中,那么在导出的时候可以直接使用命令语句,否则,就需要在执行命令语句的
时候加上命令所在位置的路径,即mysql安装路径想的bin下的mysqlmp命令。