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

Python011

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

第一个类:

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 = 0i <str.lengthi++) {

sheet.addCell(new Label(i, 0, (String) str[i]))

}

for (int i = 1i <row + 1i++) {

for (int j = 1j <column + 1j++) {

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 = 0i <sheet.lengthi++) {

int rs = sheet[i].getRows()

array = new Vector[rs - 1]

for (int j = 1j <rsj++) {

Cell[] cell = sheet[i].getRow(j)

Vector info = new Vector()

for (int k = 0k <cell.lengthk++) {

info.add(cell[k].getContents())

}

array[index] = info

index++

v.add(info)

}

Cell[] titleCell = sheet[i].getRow(0)

for (int j = 0j <titleCell.lengthj++) {

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 = 0i <sheet.lengthi++) {

int rs = sheet[i].getRows()

array = new Vector[rs - 1]

for (int j = 1j <rsj++) {

Cell[] cell = sheet[i].getRow(j)

Vector info = new Vector()

for (int k = 0k <cell.lengthk++) {

// 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 = 0j <titleCell.lengthj++) {

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我

这是我以前写的代码,放在action里。图片在pojo类中对应为byte[]类型,clxxb是一个pojo类,clxxb.getClpic()得到图片对应的字节数组byte[]。其实输出文件就是输出一个字节流。希望对你有帮助。

InputStream input=clxxb.getClpic().getBinaryStream()

byte[] buffer=new byte[input.available()]

ServletOutputStream out=response.getOutputStream()

int length=0

while((length=input.read(buffer))!=-1){

out.write(buffer,0,length)

}

out.flush()

out.close()

只要有数据库连接驱动就可以连接某个服务器上的数据库,只要你有数据库登录账户

mysql-connector-java-5.1.25.zip的官网下载地址:

http://dev.mysql.com/downloads/connector/j/点击download,希望你注册的界面,你直接点击

No thanks, just start my download.就行了