需要使用Java代码检索列表中的所有excel列名
我需要从excel文件中获取所有列名,在java代码的帮助下可以是.xls或.xlsx。 我将提供文件名和文件目录作为输入,代码需要读取目录中的文件,捕获列表中的所有列,并以xml格式发送输出 下面是示例xml数据,将有比下面更多的列需要使用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
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文件中,我需要获得上面提到的列表中的所有列名。输出可以是文本,但应该是如上所述的XML。我可以在没有任何库的情况下使用此代码吗?它是否也适用于.xlsx?如果您引用的是MS Excel,则需要使用一些API来读取文件
POI
是来自Apache
的一个不错的开源软件,用于管理Java中的XLS
文件。您是如何获得列计数总数的?这是一个变量,表示您要读取的列数。请在此处包括解决方案的关键部分,而无需访问链接。