通过Apachae POI将java程序的输出存储在excel表格中

通过Apachae POI将java程序的输出存储在excel表格中,java,excel,apache-poi,Java,Excel,Apache Poi,我有下面的csv文件,它是逗号分隔的,现在我已经从这个文件中读取了列deru id的值,但是现在请告知我在控制台上得到的输出,即列deru id及其值,我希望将其存储在第一列中的单独excel表中。请告知我如何通过apache poi实现这一点 wert,der_tran,der_id,der_version,cvns_num,cvs_type AB42126325,0,694698683,0,651626843,13002 AB42126326,0,694698686,0,651626846,

我有下面的csv文件,它是逗号分隔的,现在我已经从这个文件中读取了列deru id的值,但是现在请告知我在控制台上得到的输出,即列deru id及其值,我希望将其存储在第一列中的单独excel表中。请告知我如何通过apache poi实现这一点

wert,der_tran,der_id,der_version,cvns_num,cvs_type
AB42126325,0,694698683,0,651626843,13002
AB42126326,0,694698686,0,651626846,13001
目前我正在以这种格式阅读这篇文章

public class Parsingcsv {

    public static void main(String[] args)
    {
        Parsingcsv obj = new Parsingcsv();
        obj.run();
    }

    public void run()
    {
        String csvFile = "C:\\abc_2.csv";
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ",";

        try 
            {
               br = new BufferedReader(new FileReader(csvFile));
               while ((line = br.readLine()) != null) {

                // use comma as separator
                String[] id = line.split(cvsSplitBy);

                System.out.println("[der_id= " + id[2] + "]");

            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }    
        System.out.println("#####################3");
    }

}
在我得到的控制台上,它的输出是这样的格式

der_id
694698683
694698686
我建议使用.xls和.xlsx文件进行操作。在这里,您可以找到一些教程建议:

这是一个将虚拟数据写入excel文件的示例代码,您可以根据数据使用它

HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Sample sheet");

Map<String, Object[]> data = new HashMap<String, Object[]>();
data.put("1", new Object[] {"Emp No.", "Name", "Salary"});
data.put("2", new Object[] {1d, "John", 1500000d});
data.put("3", new Object[] {2d, "Sam", 800000d});
data.put("4", new Object[] {3d, "Dean", 700000d});

Set<String> keyset = data.keySet();
int rownum = 0;
for (String key : keyset) {
  Row row = sheet.createRow(rownum++);
  Object [] objArr = data.get(key);
  int cellnum = 0;
  for (Object obj : objArr) {
     Cell cell = row.createCell(cellnum++);
     if(obj instanceof Date) 
        cell.setCellValue((Date)obj);
     else if(obj instanceof Boolean)
        cell.setCellValue((Boolean)obj);
     else if(obj instanceof String)
        cell.setCellValue((String)obj);
     else if(obj instanceof Double)
        cell.setCellValue((Double)obj);
   }
}

try {
  FileOutputStream out = 
        new FileOutputStream(new File("C:\\new.xls"));
   workbook.write(out);
 out.close();
 System.out.println("Excel written successfully..");

 } catch (FileNotFoundException e) {
   e.printStackTrace();
 } catch (IOException e) {
  e.printStackTrace();
}