亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Java讀取XML與xls文件

標簽:
Java

前言

有时候需要通过编程来读取一些xls文件的内容,或者xml文件,读取这两种类型的文件,没什么关联,只是碰巧需要同时读取两种类型的文件。

准备

读取xls文件,可以使用Apache的一个开源项目.POI,有兴趣的自己看一下官方介绍.

使用Maven集成

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.14</version></dependency>

读取xml文件,使用系统自带的库即可。

代码

读取淘宝联盟每日10点上新的xls文件

FileInputStream inputStream = new FileInputStream("/Users/aihe/Desktop/精选优质商品清单(内含优惠券)-2017-03-09.xls");
POIFSFileSystem poifsFileSystem = new POIFSFileSystem(inputStream);
Workbook workbook = new HSSFWorkbook(poifsFileSystem);
HSSFSheet sheet = (HSSFSheet) workbook.getSheetAt(0);int rows = sheet.getPhysicalNumberOfRows();for (int i = 1; i < rows; i++) {
    HSSFRow row = sheet.getRow(i);     for (int j = 0; j < row.getPhysicalNumberOfCells(); j++) {        // TODO 对cell进行操作
         HSSFCell cell = row.getCell(j);
    }
}

读取XML内容,XML内容, 文件名为cat.xml

<?xml version="1.0" encoding="utf-8" ?><row>
    <field name="catid">1</field>
    <field name="catname">时尚女装</field>
    <field name="catid">2</field>
    <field name="catname">男装</field>
    <field name="catid">3</field>
    <field name="catname">母婴</field>
    <field name="catid">5</field>
    <field name="catname">食品</field>
    <field name="catid">6</field>
    <field name="catname">美妆</field>
    <field name="catid">7</field>
    <field name="catname">箱包</field>
    ...</row>
File file = new File("cat.xml");

DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();
Document document =  builder.parse(file);
document.getDocumentElement().normalize();

NodeList nodeList = document.getElementsByTagName("field");

LinkedList<String> catids = new LinkedList<>();
LinkedList<String> catNames = new LinkedList<>();for (int i = 0; i < nodeList.getLength(); i++) {     if (nodeList.item(i).getNodeType() == Node.ELEMENT_NODE){
           Element element = (Element) nodeList.item(i);           if (element.getAttribute("name").equals("catid")){
                catIds.add(element.getTextContent());
           }else if (element.getAttribute("name").equals("catname")){
                catNames.add(element.getTextContent())
           }
     }
}

System.out.println(catIds);
System.out.println(catNames);

结果:

[1, 2, 3, 5, 6, 7, 9, 11, 13, 14, 15, 16, 17]
[时尚女装, 男装, 母婴, 食品, 美妆, 箱包, 珠宝配饰, 文体用品, 居家百货, 家装家纺, 数码家电, 户外运动, 茶叶 ]

总结

程序比较简单,只是一些简单的小例子, 做一些记录。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
1.1萬
獲贊與收藏
1545

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消