需要使用Java代码检索列表中的所有excel列名

需要使用Java代码检索列表中的所有excel列名,java,xml,tibco,Java,Xml,Tibco,我需要从excel文件中获取所有列名,在java代码的帮助下可以是.xls或.xlsx。 我将提供文件名和文件目录作为输入,代码需要读取目录中的文件,捕获列表中的所有列,并以xml格式发送输出 下面是示例xml数据,将有比下面更多的列 Location ID Location Name Product ID Supplier Name Invoice Number Sales Qty Buy Qty Inventory Qty 2-LG2-344 ABC BBC CBC

我需要从excel文件中获取所有列名,在java代码的帮助下可以是.xls或.xlsx。 我将提供文件名和文件目录作为输入,代码需要读取目录中的文件,捕获列表中的所有列,并以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>
位置标识位置名称产品标识供应商名称
发票号销售数量购买数量库存数量
2-LG2-344 ABC BBC CBC AK1234 5 3
2-LG2-344 ABC CBC CBC AK1235 2 5
2-LG2-344 ABC DBC CBC AK1236 3
输出应该是
位置ID
地点名称
产品ID
供应商名称
发票号码
销售数量
购买数量
库存数量

在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
的值来迭代每一列。

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

        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>");
FileInputStream fis=新的FileInputStream(“test.xls”);
工作手册wb=新的HSSF工作手册(fis)//或新的XSSF工作簿(“test.xls”)
Sheet Sheet=wb.getSheetAt(0);
Row Row=sheet.getRow(0)//假设第一行是列标题行
System.out.println(“”);
for(int col=0;col
  • 创建一个JavaBean来表示您的数据结构
  • 使用ApachePOI将excel读取到bean中
  • 使用XStream将bean转换为XML
祝你好运:)

如果我读对了: “excel文件中的所有列名,可以是.xls”

我已按要求附上一份excel文件,其中列ID位于列表中。 但是,由于excel中的限制,无法使用这些创建自定义列表


从excel文件中,我需要获得上面提到的列表中的所有列名。输出可以是文本,但应该是如上所述的XML。我可以在没有任何库的情况下使用此代码吗?它是否也适用于.xlsx?如果您引用的是MS Excel,则需要使用一些API来读取文件
POI
是来自
Apache
的一个不错的开源软件,用于管理Java中的
XLS
文件。您是如何获得列计数总数的?这是一个变量,表示您要读取的列数。请在此处包括解决方案的关键部分,而无需访问链接。