在Java编程中怎么将从数据库查询出来的数据导成Excel文件

在Java编程中怎么将从数据库查询出来的数据导成Excel文件,第1张

import jxl; \x0d\import jxlwrite; \x0d\import javaio; \x0d\import javaioFile; \x0d\import javautil; \x0d\\x0d\public class excel \x0d\{ \x0d\public static void main(String[] args) \x0d\{ \x0d\\x0d\String targetfile = "c:/outxls";//输出的excel文件名 \x0d\String worksheet = "List";//输出的excel文件工作表名 \x0d\String[] title = {"ID","NAME","DESCRIB"};//excel工作表的标题 \x0d\\x0d\WritableWorkbook workbook; \x0d\try \x0d\{ \x0d\//创建可写入的Excel工作薄,运行生成的文件在tomcat/bin下 \x0d\//workbook = WorkbookcreateWorkbook(new File("outputxls")); \x0d\Systemoutprintln("begin"); \x0d\\x0d\OutputStream os=new FileOutputStream(targetfile); \x0d\workbook=WorkbookcreateWorkbook(os); \x0d\\x0d\WritableSheet sheet = workbookcreateSheet(worksheet, 0); //添加第一个工作表 \x0d\//WritableSheet sheet1 = workbookcreateSheet("MySheet1", 1); //可添加第二个工作 \x0d\/ \x0d\jxlwriteLabel label = new jxlwriteLabel(0, 2, "A label record"); //put a label in cell A3, Label(column,row) \x0d\sheetaddCell(label); \x0d\/ \x0d\\x0d\jxlwriteLabel label; \x0d\for (int i=0; i回答于 2022-11-16

你的意思是先查询出来所有数据后,再显示到下拉菜单中去对吗?

如果是的话,按下面的思路做,相信你能做出来:

首先你访问这个界面前,要先去查询数据库中的数据,一般这些数据都装到一个list(集合,不一定用List)中去,然后再转到(如果是web项目,就是跳转了,这时把这个list装到request中,requestsetAt(“list”,lits);如果用的是桌面应用程序,就把这个list以参数的形式传到界面类上去)你的界面上,在界面上做一个下拦菜单,然后呢,就是一个循环输出list中包含的所有数据库中的数据,把每次循环取出来的信息放入下拉菜单的选项中去,这样,有多少数据,这个下拉菜单就有多少选项了,不知道是不是你想要的结果,如果不是,你可以再说详细点,方便大家为你解答,。

本人使用的是 Jena-257 MySQL 50 mysql-connector-java-3110 jdk160_07

源代码:

import javaio;

import javasqlSQLException;

import comhphpljenadb;

import comhphpljenardfmodel;

public class MysqlTest{

public static final String strDriver = "commysqljdbcDriver"; // path of driver class

public static final String strURL = "jdbc:mysql://localhost/ontodb"; // URL of database

public static final String strUser = "root"; // database user id

public static final String strPassWord = "4408"; // database password

public static final String strDB = "MySQL"; // database type

public static void main(String[] args){

try{

// 创建一个数据库连接

IDBConnection conn = new DBConnection ( strURL, strUser, strPassWord, strDB );

// 加载数据库驱动类,需要处理异常

try

{

ClassforName(strDriver);

}catch(ClassNotFoundException e){

Systemoutprintln("ClassNotFoundException, Driver is not available");

}

// 使用数据库连接参数创建一个模型制造器

ModelMaker maker = ModelFactorycreateModelRDBMaker(conn);

// 创建一个默认模型,命名为 MyOntology

Model defModel = makercreateDefaultModel();

// 准备需要存入数据库的本体文件,建立输入文件流

FileInputStream inputSreamfile = null;

try

{

File file = new File("D:/Personowl");

inputSreamfile = new FileInputStream(file);

} catch (FileNotFoundException e) {

eprintStackTrace();

Systemoutprintln("Ontology File is not available");

}

InputStreamReader in = null;

try

{

in = new InputStreamReader(inputSreamfile, "UTF-8");

} catch (UnsupportedEncodingException e) {

Systemoutprintln("Exceptions occur33");

eprintStackTrace();

}

// 读取文件

defModelread(in,null);

// 关闭输入流读取器

try

{

inclose();

} catch (IOException e) {

Systemoutprintln("Exceptions occurclose1");

eprintStackTrace();

}

// 执行数据转换,将本体数据存入数据库

defModelcommit();

// 关闭数据库连接

try

{

connclose();

} catch (SQLException e) {

Systemoutprintln("Exceptions occur22");

eprintStackTrace();

}

}catch(RDFRDBException e){

Systemoutprintln("Exceptions occur");

}

}

}

输出结果

Tue Dec 30 17:07:06 CST 2008 TRACE:

Tue Dec 30 17:07:06 CST 2008 TRACE:

Tue Dec 30 17:07:06 CST 2008 TRACE:

Tue Dec 30 17:07:06 CST 2008 TRACE:

Exceptions occur

帮忙解决一下。。。

以前用dtree写过一个,先把你数据库数据查出来,重点是确定父id跟子id都已经分好了,然后剩下的主要是在jsp里写树菜单就好了:给你参考下,下面那两个文件你可能没有,不过应该可以在网上下载的

<div class="dtree">

<p><a href="javascript: dopenAll();">展开</a> | <a href="javascript: dcloseAll();">关闭</a></p>

<script type="text/javascript">

d = new dTree('d',"${contextPath}/js/dtree/");

dadd(0,-1,'涉及问题选择');

<c:forEach items="${problemList}" var="pro">

var fid;

var config="${procontent}";

fid = '${profid}';

var id = '${proid}';

if(${proson}==0){

ss='+config,'${procontent}','frame_right');

dadd('${proid}',fid,config,'${contextPath}/ajdj/ajdj_sjwtLjdoconfigid='+id,'${procontent}','frame_right');

}else{

dadd('${proid}',fid,config,'','${procontent}','frame_right');

}

</c:forEach>

documentwrite(d);

</script>

</div>

获得某表所有列的信息:

String sql = select from tname;//tname为某一表名

Connection conn = ;

Statement st = conncreateStatement();

ResultSet rs = strs = stexecuteQuery(sql);

ResultSetMetaData rsmd = rsgetMetaData();

int colcount = rsmdgetColumnCount();//取得全部列数

for(int i=0;i<colcount;i++){

String colname = rsmdgetColumnName(i);//取得全部列名

}

以上为某表字段具体查询,如果是查询表的信息,如在mysql服务器上那样的查询结果的话,可以用一下代码:

ResultSetexecuteQuery("show tables")可以的到所有的表信息。

ResultSetexecuteQuery("describe tname")可以得到表的字段信息。//tname为表名

ps :同样适用于jsp。

你想找出新增的数据,那你必须要有一个标识,用来标识是否为新增的

例如表中flag字段,默认为0,处理过之后就为1

这样,你才能判断哪条数据是新的,哪条数据是老的了

或者用时间判断

以上就是关于在Java编程中怎么将从数据库查询出来的数据导成Excel文件全部的内容,包括:在Java编程中怎么将从数据库查询出来的数据导成Excel文件、在java中,在下拉列表查询数据库的所有数据怎么查、java查询数据库的数据并显示出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9837275.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存