java - 我想将 excel 转换为 xml

标签 java spring xml-parsing spring-batch jxl

enter image description here

我想将 excel 转换为 xml。谁能告诉我如何使用映射器进行操作? 我的代码:

public class WorkGroupReader implements ItemReader<List<String>> {
    WorkGroupMapper linemapper;

    public void setLinemapper(WorkGroupMapper linemapper) {
        this.linemapper = linemapper;
    }

    @Override
    public List<String> read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException,BiffException, IOException {
            String FilePath = "E:\\ide-workspaces\\OmniFeed\\input\\WorkGroup.xls";
            FileInputStream fs = new FileInputStream(FilePath);
            Workbook wb = Workbook.getWorkbook(fs);

            // TO get the access to the sheet
            Sheet sh = wb.getSheet("WorkGroup");

            // To get the number of rows present in sheet
            int totalNoOfRows = sh.getRows();

            // To get the number of columns present in sheet
            int totalNoOfCols = sh.getColumns();

            List<String> list=new ArrayList<String>();
            for (int row = 1; row < totalNoOfRows; row++) {

                for (int col = 1; col < totalNoOfCols; col++) {
                    //System.out.print(sh.getCell(col, row).getContents() + "\t");
                    list.add(sh.getCell(col, row).getContents());
                    //return linemapper.mapLine(sh.getCell(col, row).getContents(), 0);
                } 
            }

            return list;

我不明白如何与阅读器进行映射?

最佳答案

您可以使用 Apache POI 库读取 .xls 或 .xlsx
对于 Maven 项目:将以下依赖项添加到项目的 pom.xml 文件中:

<!--For Excel 2003 format only (HSSF) -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>2.6.12</version>
</dependency>

<!--For Excel 2007 format (XSSF) -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.14</version>
</dependency>


这是使用 XSSF 的示例代码


    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.util.IOUtils;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;<p></p>

public class ExcelToXml {
  public static void main(String[] args) {
    File excelFile = new File(args[0]);
    if (excelFile.exists()) {
        Workbook workbook = null;
        FileInputStream inputStream = null;

        try {
            inputStream = new FileInputStream(excelFile);
            workbook = new XSSFWorkbook(inputStream);
            Sheet sheet = workbook.getSheetAt(0);

            for (Row row : sheet) {
                for (Cell cell : row) {
                    switch (cell.getCellType()) {
                    case Cell.CELL_TYPE_STRING:
                        System.out.print(cell.getStringCellValue());
                        break;
                    case Cell.CELL_TYPE_BOOLEAN:
                        System.out.print(cell.getBooleanCellValue());
                        break;
                    case Cell.CELL_TYPE_NUMERIC:
                        System.out.print(cell.getNumericCellValue());
                        break;
                    }
                    System.out.print("\t");
                }
                System.out.println();
            }

        } catch (IOException e) {
            // handle the exception
        } finally {
            IOUtils.closeQuietly(workbook);
            IOUtils.closeQuietly(inputStream);
        }
    }
  }
}

关于java - 我想将 excel 转换为 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38539092/

相关文章:

java - 使用 spring 重新映射 Web 应用程序 (tomcat) 中的图像请求以获得绝对路径

java - 如何在 Spring 中编写仅通过另一个 API 发送响应的 REST 端点?

java - Spring Boot Junit测试通过构造函数注入(inject)注入(inject)dao接口(interface)

java - "Cannot Find Symbol"为什么?

java - 如何在 Google App Engine 中提取 rar 文件 (AppEngineFile)

java - 绘图/绘制 Wav 文件 java

java - Java 配置中的 <tcp-outbound-channel-adapter> 是什么?

python - 使用包含命名空间的 lxml 解析 xml

jquery - 使用 jQuery 读取 RSS 源 - 无法读取 <link> 元素

python - 忽略 xml.etree.ElementTree.XMLParser Python 中不匹配的标签