「javaxml导出」javaexcel导入导出
今天给各位分享javaxml导出的知识,其中也会对javaexcel导入导出进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java怎么将数据导出为xml文件
给你一个将数据库中表格生成xml文件的简单例子,希望对你有帮助
package book;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.*;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class SqlBean {
Connection con=null;
PreparedStatement stmt=null;
ResultSet rs=null;
public SqlBean()
{
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con=DriverManager.getConnection("","","");
stmt=con.prepareStatement("select * from book order by id");
}catch(Exception e)
{
e.printStackTrace();
}
}
public int JdomParser(){
this.query();
int m=1;
try{
Element root,book,bookname,author,price;
root=new Element("BookHome");
Document doc=new Document(root);
ResultSetMetaData rsmd=rs.getMetaData();
int colCount=rsmd.getColumnCount();
while(rs.next())
{
book=new Element("book");
bookname=new Element(rsmd.getColumnName(2));
author=new Element(rsmd.getColumnName(3));
price=new Element(rsmd.getColumnName(4));
bookname.setText(rs.getString(2));
author.setText(rs.getString(3));
price.setText(rs.getString(4));
book.addContent(bookname);
book.addContent(author);
book.addContent(price);
book.setAttribute(rsmd.getColumnName(1), rs.getString(1));
root.addContent(book);
}
Format format=Format.getCompactFormat();
format.setEncoding("gb2312");
format.setIndent(" ");
XMLOutputter XMLOut=new XMLOutputter(format);
XMLOut.output(doc, new FileOutputStream("D:/workspace/XML/book.xml"));
m=0;
}catch(Exception e){
e.printStackTrace();
}
finally
{
this.close();
}
return m;
}
public ResultSet query()
{
try{
rs=stmt.executeQuery();
}catch(Exception e){
e.printStackTrace();
}
return rs;
}
public void close()
{
try{
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(con!=null)
con.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
怎么使用java导出大数据为xml文件
dom4j可以试试,不知道你的数据量有多大,如果太大的话,我没试过
xml文件是有规律的,你可以把要导出的数据构造一下,
我有个简单的代码
package com.test.xml;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Dom4JXML {
public void createXML() {
//用工厂类创建一个document实例
Document doc = DocumentHelper.createDocument();
//创建根元素emps
Element rootEle = doc.addElement("emps");
//添加注释
rootEle.addComment("这是一个dom4j生成的xml文件");
//emps根节点下创建一个emp节点
Element empEle = rootEle.addElement("emp");
//emp添加属性id="1"
empEle.addAttribute("id", "1");
//emp节点下创建一个name节点
Element nameEle = empEle.addElement("name");
//name节点下创建一个文本节点zhangsan
nameEle.setText("zhangsan");
//再为name节点创建一个兄弟节点
Element sexEle = empEle.addElement("sex");
sexEle.setText("man");
//将document中的内容写入文件中
try {
Writer out = new FileWriter("F:\\emps.xml");
//格式化输出,类型IE浏览一样
OutputFormat format = OutputFormat.createPrettyPrint();
//OutputFormat format = OutputFormat.createCompactFormat();
format.setEncoding("UTF-8");
//创建写出对象
XMLWriter writer = new XMLWriter(out,format);
writer.write(doc);
writer.close();
System.out.println("生成emps.xml成功。");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("失败了。");
}
}
public static void main(String[] args) {
new Dom4JXML().createXML();
}
}
然而从xml文件中解析以后的数据收集可以用SAX试试看
我这里有个简单的例子
package com.test.xml;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class SAXParseHandler extends DefaultHandler{
public void startDocument()throws SAXException{
System.out.println("起始文挡");
}
public void endDocument()throws SAXException{
System.out.println("结束文挡");
}
public void characters(char[] ch,int start,int length)throws SAXException{
String charString=new String(ch,start,length);
System.out.println("字符:"+charString);
}
public void startElement(String namespaceURI,String localName,String qName,Attributes atts)throws SAXException{
System.out.println("起始元素:"+qName);
for(int i=0;iatts.getLength();i++){
System.out.println("属性值:"+atts.getValue(i));
}
}
public void endElement(String namespaceURI,String localName,String qName)throws SAXException{
System.out.println("结束元素:"+qName);
}
}
package com.test.xml;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
public class Books {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO 自动生成方法存根
SAXParserFactory factory=SAXParserFactory.newInstance();
SAXParser parser=factory.newSAXParser();
parser.parse("booksamp.xml",new SAXParseHandler());
}
}
如何读取xml文件导出为excel文件
给你一种jsp的方法
在JSP中如何把xml文件中的数据导出到excel中,其实就是通过Java如何把xml中的数据导出到excel中。
要解决这个问题分为两步。
第一步,通过java把数据从xml文件中读出来。这个在Java中是一个很普通很普遍的问题,使用任意一个Java的xml解析库(比如jdom,dom4j等)都可以完成。
第二步,数据从xml文件读出后,就需要把数据写入excel文件。这个问题其实就是在java如何操作excel文件。
在Java中操作Excel文件,目前大致有三种方法。
第一种,使用第三方的库,比如
Java Excel API
Jakarta POI
等
使用这些库可以直接控制excel文件
第二种的思路是通过COM实现, 微软的office都提供了COM接口,可以通过这些接口控制office(当然也包括Excel了).
JACOB是一个可以在Java中访问COM组件的Java第三方库,使用这个库,就可以通过COM接口控制excel了。
第三种思路是通过数据库实现。可以把excel文件看作为数据库,在安装有excel的电脑上,都有excel的ODBC驱动。也就是说,可以通过这个驱动,像访问数据库一样的访问excel文件。在Java中,使用JDBC的JDBC-ODBC桥驱动就可以访问任意支持ODBC的数据库。
JAVA中将数据导出成XML文件(急急急急)
2./**
1. * desciption:java create xml file
2. * author:maomao
3. * datetime:2007/04/04 23:42
4. */
5.
6.package com.xh.xml;
1.
2.import java.io.FileOutputStream;
1.import java.io.IOException;
1.import org.jdom.Document;
1.import org.jdom.Element;
1.import org.jdom.JDOMException;
1.import org.jdom.output.XMLOutputter;
1.
2.public class Java2XML {
1.
2. public void BuildXMLDoc() throws IOException, JDOMException {
3.
4. // 创建根节点 list;
5. Element root = new Element("list");
6.
7. // 根节点添加到文档中;
8. Document Doc = new Document(root);
9.
10. // 此处 for 循环可替换成 遍历 数据库表的结果集操作;
11. for (int i = 0; i 5; i++) {
12.
13. // 创建节点 user;
14. Element elements = new Element("user");
15.
16. // 给 user 节点添加属性 id;
17. elements.setAttribute("id", "" + i);
18.
19. // 给 user 节点添加子节点并赋值;
20. // new Element("name")中的 "name" 替换成表中相应字段,setText("xuehui")中 "xuehui 替换成表中记录值;
21. elements.addContent(new Element("name").setText("xuehui"));
22. elements.addContent(new Element("age").setText("28"));
23. elements.addContent(new Element("sex").setText("Male"));
24.
25. // 给父节点list添加user子节点;
26. root.addContent(elements);
27.
28. }
29. XMLOutputter XMLOut = new XMLOutputter();
30.
31. // 输出 user.xml 文件;
32. XMLOut.output(Doc, new FileOutputStream("user.xml"));
33. }
34.
35. public static void main(String[] args) {
36. try {
37. Java2XML j2x = new Java2XML();
38. System.out.println("生成 mxl 文件...");
39. j2x.BuildXMLDoc();
40. } catch (Exception e) {
41. e.printStackTrace();
42. }
43. }
44.
45.}
生成结果:
# ?xml version="1.0" encoding="UTF-8"?
# list
# user id="0"
# namexuehui/name
# age28/age
# sexMale/sex
# /user
# user id="1"
# namexuehui/name
# age28/age
# sexMale/sex
# /user
# user id="2"
# namexuehui/name
# age28/age
# sexMale/sex
# /user
# user id="3"
# namexuehui/name
# age28/age
# sexMale/sex
# /user
# user id="4"
# namexuehui/name
# age28/age
# sexMale/sex
# /user
# /list
你可以参考一下链接,然后拷贝代码,这里我直接拷贝带上行号。
javaxml导出的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaexcel导入导出、javaxml导出的信息别忘了在本站进行查找喔。
发布于:2022-12-17,除非注明,否则均为
原创文章,转载请注明出处。