java代码中读写xml文件、读excel文件

dom4j读写xml文件:参考地址:[url]http://www.cnblogs.com/yjmyzz/archive/2012/11/11/2765312.html[/url]
一、需要读excel文件中的数据写入xml文件中
public interface XmlDocument {

/**
* 建立XML文档
* @param fileName 文件全路径名称
*/
public void createXml(String fileName);
/**
* 解析XML文档
* @param fileName 文件全路径名称
*/
public void parserXml(String fileName);
}


二、读excel文件并写入xml文件的test类
@Test
public void createXml() throws IOException {
String fileName = "d://test.xml";

Document document = DocumentHelper.createDocument();
//读取excel
String excelFilename = "d://1.xls";

Element employees = document.addElement("keywords");
Element employee = employees.addElement("fistkeywords");
Element name = employee.addElement("keywords");
name.setText("机械及行业设备");
Element code = employee.addElement("code");
code.setText("113");

Element thisrdkeywords = employee.addElement("thirdkeywords");

InputStream is;
is = new FileInputStream(excelFilename);
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if (hssfRow == null) {
continue;
}
// 循环列Cell
// 0关键词 1code
HSSFCell keycell0 = hssfRow.getCell(0);
keycell0.setCellType(HSSFCell.CELL_TYPE_STRING);
String ssss = keycell0.getStringCellValue();
String keyexcel = getValue(keycell0);

//xml文件中插入值
Element namethird = thisrdkeywords.addElement("keywords");
namethird.setText(keyexcel);

HSSFCell codecell2 = hssfRow.getCell(1);
codecell2.setCellType(HSSFCell.CELL_TYPE_STRING);
String str=hssfRow.getCell(1).toString();

Element codethiird = thisrdkeywords.addElement("code");
codethiird.setText(getValue(codecell2));
}
}

try {
OutputFormat format = OutputFormat.createCompactFormat();
format.setEncoding("utf-8");
format.setNewlines(true);
Writer fileWriter = new FileWriter(fileName);
XMLWriter xmlWriter = new XMLWriter(fileWriter, format);
xmlWriter.write(document);
xmlWriter.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}

}

三、读xml文件的类
public void parserXml() {
String fileName = "d://test.xml";
File inputXml = new File(fileName);
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(inputXml);
Element employees = document.getRootElement();
for (Iterator i = employees.elementIterator(); i.hasNext();) {
Element employee = (Element) i.next();
for (Iterator j = employee.elementIterator(); j.hasNext();) {
Element node = (Element) j.next();
System.out.println(node.getName() + ":" + node.getText());
}

}
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
System.out.println("dom4j parserXml");
}

四、根据xml文件属性查找值
SAXReader reader = new SAXReader();
Document doc = reader.read(FILENAME); //加载xml文件
Element key = (Element) doc.selectSingleNode("//keywords[@codeValue='"+code+"']"); //查找“codeValue属性”=113101101的keywords元素
if(key != null){
keyword = key.getStringValue();
}

五、xml文件
<keywordsManager>
<keywords codeValue="113">机械及行业设备</keywords>
<code name="机械及行业设备">113</code>
<keywords codeValue="113101101">加料再生破碎机</keywords>
<code name="加料再生破碎机">113101101</code>
<keywords codeValue="113101102">压塑机</keywords>
<code name="压塑机">113101102</code>
<keywords codeValue="113213101">变速机</keywords>
<code name="变速机">113213101</code>
</keywordsManager>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaExcel文件(.xlsx)有多种方法,其比较常用的是使用Apache POI库。以下是一个简单示例: 1. 导入Apache POI库 你可以在Maven项目添加以下依赖项: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ``` 或者下载POI库的jar包并将其添加到项目。 2. Excel文件 ```java import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ReadExcel { public static void main(String[] args) { try { FileInputStream file = new FileInputStream(new File("example.xlsx")); // 创建工作簿 Workbook workbook = new XSSFWorkbook(file); // 选择第一个工作表 Sheet sheet = workbook.getSheetAt(0); // 迭代行 for (Row row : sheet) { // 迭代单元格 for (Cell cell : row) { // 获取单元格的值 String cellValue = cell.getStringCellValue(); System.out.print(cellValue + "\t"); } System.out.println(); } // 关闭工作簿 workbook.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 上面的代码打开名为“example.xlsx”的Excel文件并打印出所有单元格的值。 3. Excel文件 ```java import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class WriteExcel { public static void main(String[] args) { try { // 创建工作簿 Workbook workbook = new XSSFWorkbook(); // 创建工作表 Sheet sheet = workbook.createSheet("Sheet1"); // 创建行 Row row = sheet.createRow(0); // 创建单元格并设置值 Cell cell = row.createCell(0); cell.setCellValue("Hello, world!"); // 文件 FileOutputStream file = new FileOutputStream("example.xlsx"); workbook.write(file); // 关闭工作簿 workbook.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 上面的代码创建了一个名为“Sheet1”的工作表,并在第一行第一列入了“Hello, world!”。最后将工作簿保存到名为“example.xlsx”的文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值