通过Apachae POI将java程序的输出存储在excel表格中
我有下面的csv文件,它是逗号分隔的,现在我已经从这个文件中读取了列deru id的值,但是现在请告知我在控制台上得到的输出,即列deru id及其值,我希望将其存储在第一列中的单独excel表中。请告知我如何通过apache poi实现这一点通过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,
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();
}