`
q_wong
  • 浏览: 108574 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

解析XML到Excel

阅读更多

dom4j.jar poi.jar

    /**
     * 解析XML,把结果写入Excel
     * @param xmlPath xml文件路径
     * @param workbook Excel表
     * 
     */
    @SuppressWarnings("unchecked")
    private static void setAlarmInfoToExcelSheet(String xmlPath,
            HSSFWorkbook workbook)
    {
        HSSFSheet sheet = workbook.getSheetAt(0);// excel sheet
        HSSFRow row; // 在sheet表格中创建一行
        HSSFCell cell; // 在每一行中配置单元格
        HSSFHyperlink link; // 每个单元格对应的链接
        
        // 解析XML,遍历每个alarm,把结果写入excel单元格
        Document document = XmlUtils.getXMLDocFromFile(xmlPath);
        
        if (null == document)
        {
            return;
        }
        
        List<Node> nodeList = document.selectNodes("//alarm");
        String strTemp = "";
        for (int i = 0; i < nodeList.size(); i++)
        {
            Element alarm = (Element) nodeList.get(i);
            // 从第4行开始写入,前面是模板里设置的表头
            row = sheet.createRow(i + LINK_START_ROW);
            // 序号
            cell = row.createCell(0);
            cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
            cell.setCellValue(i + 1);
            // 错误级别
            cell = row.createCell(1);
            cell.setCellType(HSSFCell.CELL_TYPE_STRING);
            strTemp = alarm.attributeValue("level");
            cell.setCellValue(strTemp);
            // 告警ID
            cell = row.createCell(2);
            cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
            strTemp = alarm.attributeValue("code");
            cell.setCellValue(strTemp);
            // 所在文件
            Node filePathNode = alarm.selectSingleNode("./extends/filePath");
            if (null != filePathNode)
            {
                strTemp = ((Element) filePathNode).attributeValue("value");
                cell = row.createCell(3);
                cell.setCellType(HSSFCell.CELL_TYPE_STRING);
                cell.setCellValue(strTemp.substring(strTemp.lastIndexOf("\\") + 1));
                link = new HSSFHyperlink(HSSFHyperlink.LINK_URL);
                link.setAddress("CI_HOME/"
                        + strTemp.substring(strTemp.lastIndexOf("\\") + 1));
                cell.setHyperlink(link);
            }
            // 原因
            Node reasonNode = alarm.selectSingleNode("./reason");
            if (null != reasonNode)
            {
                strTemp = reasonNode.getText();
                cell = row.createCell(4);
                cell.setCellType(HSSFCell.CELL_TYPE_STRING);
                cell.setCellValue(strTemp);
            }
            // 修改提示
            Node solution = alarm.selectSingleNode("./solution");
            if (null != solution)
            {
                strTemp = solution.getText();
                cell = row.createCell(5);
                cell.setCellType(HSSFCell.CELL_TYPE_STRING);
                cell.setCellValue(strTemp);
            }
        }
    }

 

分享到:
评论

相关推荐

    java 解析、生成 Excel XML 四个实例

    Java提供了内置的`javax.xml.parsers`包,可以使用`DocumentBuilderFactory`和`DocumentBuilder`来解析XML文件。首先,创建`Document`对象,然后使用`parse()`方法解析XML文件。解析后,你可以通过`...

    python解析xml生成excel文档

    使用`lxml`库中的`etree`模块来解析XML文件。首先,打开XML文件并将其解析为ElementTree对象。 ```python from lxml import etree def parse_xml(file_path): tree = etree.parse(file_path) root = tree....

    xml2excel,java解析xml文件

    本篇文章将详细介绍如何在Java中解析XML文件,并以“xml2excel”为例,探讨如何将XML数据转换为Excel格式。 首先,我们需要了解Java中解析XML的基本方法。Java内置了两个主要的API用于XML解析:DOM(Document ...

    解析XML,并把解析的属性值写入excel

    XML文件可能包含了需要解析的数据,而Java代码则演示了如何使用DOM4J解析XML以及如何使用Apache POI将解析结果写入Excel。这些示例代码可以帮助初学者理解XML解析和Excel导出的实现过程。 为了确保程序的健壮性,还...

    python文件对比 xml、excel

    如果需要将XML数据转换为Excel,首先解析XML,然后将其转换为DataFrame,最后写入Excel: ```python xml_df = xml_to_dataframe('example.xml') # 自定义函数,将XML转换为DataFrame xml_df.to_excel('xml_to_...

    解析Excel和XML

    标题中的“解析Excel和XML”涉及的是两种不同的数据格式处理技术。Excel是Microsoft Office套件中的电子表格应用程序,常用于数据分析、财务管理和报告制作。XML(eXtensible Markup Language)则是一种标记语言,...

    xml转EXCEL软件

    例如,Python有pandas库,可以配合lxml库解析XML并写入Excel。这种方法允许更多的自定义和控制,但需要一定的编程基础。 总的来说,XML转Excel是数据管理和分析的一个实用步骤,有助于将结构化的XML数据转换为易于...

    Android-Android国际化文档整理xml和excel互转

    2. Excel到XML:完成翻译工作后,该工具可以将Excel文件的内容转换回XML格式,并自动按Android的要求生成对应的`values-xx`文件夹结构。这样,开发者可以直接将这些文件导入项目,完成本地化设置。 三、项目结构与...

    xml转Excel工具 xml转xls工具

    可以将xml文件转为excel 文件名最好不包含中文字符 电脑上需要安装jre 然后点击右键 选择Java application 运行

    excel文档解析和生成xml文件

    总的来说,通过Apache POI和JDOM,你可以轻松地实现Excel到XML的转换,这对于数据迁移、数据交换或数据存储在不同系统之间具有很大的价值。同时,这也需要对Java编程、Excel文件结构以及XML语法有深入的理解。

    解析excel写入xml

    本篇将详细探讨如何解析Excel文件并将其内容写入到XML中。 首先,我们要理解Excel文件的结构。Excel文件通常是二进制的`.xlsx`格式,它由多个基于Open XML标准的XML文件组成,存储在一个压缩的ZIP文件内。我们可以...

    android String.xml Excel 相互转换工具

    1. 导入`String.xml`到Excel,自动生成表格结构,包括字符串ID、默认值和不同语言的翻译。 2. 在Excel中编辑完成后,导回为`String.xml`,更新或创建对应的资源文件。 3. 支持多语言同步更新,避免手动逐一修改各个...

    解析excel和xml的jar

    反之亦然,你可以解析XML,然后用POI将数据写入Excel文件。 在项目中引入“解析excel和xml的jar”可能意味着这个jar包含了对这两种格式的解析支持。它可能封装了上述提到的Apache POI和Java的XML解析库,提供了一种...

    Excel2xml,excel文档解析

    结合以上两个库,我们可以实现从Excel到XML的转换。首先用POI读取Excel文件,将数据保存到内存中的数据结构,然后使用DOM4J构建对应的XML结构。具体步骤如下: 1. 使用POI打开Excel文件,遍历每个工作表和行,将...

    神级testlink-导出的xml用例转Excel或Excel转xml上传到testlink

    在Excel到XML的过程中,工具可能需要将单元格数据重新组织成XML的节点结构。 请注意,不同工具的转换效果可能会有所不同,尤其是在处理复杂的数据结构时。因此,在使用这样的工具时,务必检查转换后的文件是否保留...

    解析excel、xml配置文件&&输出java测试文件Demo

    - Java标准库中的`javax.xml.parsers.DocumentBuilderFactory`和`DocumentBuilder`可以用来解析XML文件。 - 创建`Document`对象,然后通过`getElementsByTagName`等方法遍历XML节点。 - 示例代码: ```java ...

    Xml转Excel

    这些工具能够解析XML,然后将数据填充到Excel工作表中。在Python中,`pandas.read_xml()`函数可以将XML数据转换为DataFrame,再通过`to_excel()`方法写入Excel文件。而在Java中,`JAXB`可以将XML对象绑定到Java对象...

    SAX解析XML POI解析Excel实例

    &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;users&gt; &lt;user id="A001"&gt; &lt;name&gt;zhaoyun&lt;/name&gt; &lt;age&gt;40&lt;/age&gt; &lt;/user&gt; &lt;user id="b001"&gt; &lt;name&gt;Liubie&lt;/name&gt; &lt;age&gt;25&lt;/age&gt; &lt;/user&gt; &lt;/users&gt;

    Java解析XML文档(二):sax读取xml文件导出excel

    本文将深入讲解如何使用SAX(Simple API for XML)解析XML文档,并将解析结果导出到Excel文件中。SAX是一种事件驱动的解析方式,相比DOM(Document Object Model)解析,它更节省内存,适用于处理大型XML文件。 ...

    String.xml Excel 相互转换工具

    2. **Excel到XML转换**:当Excel中的翻译完成后,工具可以将修改后的表格重新转换回`String.xml`文件。这个过程会保留原有的XML结构,并更新或添加新的字符串资源。 3. **版本控制**:如果项目中有多个语言的`...

Global site tag (gtag.js) - Google Analytics