0

我需要从 excel 文件中获取所有列名,它可以是 .xls 或 .xlsx 在 java 代码的帮助下。我将提供文件名和文件目录作为输入,代码需要读取目录中的文件并捕获列表中的所有列并以 xml 格式发送输出。

下面是示例 xml 数据,列将比下面更多

Location ID Location Name   Product ID  Supplier Name   
Invoice Number  Sales Qty   Buy Qty Inventory Qty

2-LG2-344   ABC BBC CBC AK1234  5   4   3

2-LG2-344   ABC CBC CBC AK1235  2   6   5

2-LG2-344   ABC DBC CBC AK1236  3   2   3



the output should be like 
<ptnr_label_names>
<field_name>Location ID<field_name>
<field_name>Location Name<field_name>
<field_name>Product ID<field_name>
<field_name>Supplier Name<field_name>
<field_name>Invoice Number<field_name>
<field_name>Sales Qty<field_name>
<field_name>Buy Qty<field_name>
<field_name>Inventory Qty<field_name>
</ptnr_label_names>
4

4 回答 4

3

您可以使用Apache POI。一个简单的代码如下所示:

        FileInputStream fis = new FileInputStream("test.xls");
        Workbook wb = new HSSFWorkbook(fis); //or new XSSFWorkbook("test.xls")
        Sheet sheet = wb.getSheetAt(0);
        Row row = sheet.getRow(0); //assume first row is column header row
        System.out.println("<ptnr_label_names>");
        for(int col=0; col< numXolumns; col++){
           Cell cell = row.getCell(col);
           String columnName = cell.getStringCellValue();
           System.out.println("<field_name> "+columnName +"</field_name>");
       }
        System.out.println("</ptnr_label_names>");
于 2012-10-09T13:01:04.107 回答
0

如果我正确阅读:“excel文件中的所有列名,它可能是.xls”

我已按要求在列表中附加了一个带有列 ID 的 excel 字段。但是,由于 excel 的限制,无法使用这些创建自定义列表。

Excel 列 ID

于 2013-10-07T09:28:52.473 回答
0

祝你好运 :)

于 2012-10-09T13:03:37.320 回答
0

在 excel 文件中找到列名所在的行,然后通过从一列移动到另一列来读取单元格。

    Row row=sheet.getRow(r);//r is the row number for your column names
    Cell cell=row.getCell(c);//c is the column number 

c您需要通过更改上面代码中的值来遍历每一列。

于 2012-10-09T12:52:07.027 回答