我是靠谱客的博主 秀丽流沙,最近开发中收集的这篇文章主要介绍java csv 多个sheet_使用Apache POI在java中复制多个csv到xls文件的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我在这个博客和IT领域都很新。我有一个问题,将csv文件中的值复制到现有的xls文件中。我正在使用Apache POI。

我有两个csv文件和两个现有的xls文件output0.xls和output1.xls为各自的csv文件。我试图将值从第一个csv文件复制到output0.xls和第二个csv文件到output1.xls.I ve做了那个代码,并且它工作正常

但问题是,将第一个csv文件的值从第二个csv文件放到output.x.xls后,我试图将值复制到output1.xls,它将第一个csv文件的值与第二个csv文件相加,将两个文件的值写入到output1.xls。

我无法找出主要问题在哪里。请任何人尽快帮助我....否则我会面临一个大问题。

点击

代码已经使用了

import java.io.BufferedReader;

import java.io.DataInputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FilenameFilter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.ArrayList;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class Demo {

// FileOutputStream fileOut=null;

//FileInputStream fis=null;

public static void main(String[] args) throws IOException {

/*File f=new File("c:\");

// return boolean-->System.out.println(f.isDirectory());

File[]files=f.listFiles();*/

String thisline;

ArrayList al = null;

ArrayList> arlist = new ArrayList>();

String libRoot=new File(".").getAbsolutePath();

libRoot=libRoot.replaceAll("\\", "/");

File f=new File(libRoot+"/result");

FilenameFilter filter = new FilenameFilter()

{

@Override public boolean accept(File dir, String name)

{

return name.endsWith(".csv");

}

};

File file[]=f.listFiles(filter);

for(int r=0;r

File currentFile=file[r];

FileInputStream fis = new FileInputStream(currentFile);

//DataInputStream myInput = new DataInputStream(fis);

BufferedReader br = new BufferedReader(new InputStreamReader(fis));

while ((thisline = br.readLine()) != null) {

al = new ArrayList();

String strar[] = thisline.split(",");

for (int j = 0; j < strar.length; j++) {

al.add(strar[j]);

}

arlist.add(al);

//i++;

}

fis.close();

HSSFWorkbook hwb = new HSSFWorkbook();

HSSFSheet sheet = hwb.createSheet("new sheet"+r);

for (int k = 0; k < arlist.size(); k++) {

ArrayList ardata = (ArrayList) arlist.get(k);

HSSFRow row = sheet.createRow((short) k);

for (int p = 0; p < ardata.size(); p++) {

//System.out.print(ardata.get(p));

HSSFCell cell = row.createCell((short) p);

cell.setCellValue(ardata.get(p).toString());

}

}

FileOutputStream fileOut = new FileOutputStream(libRoot+"/result/output"+r+".xls");

hwb.write(fileOut);

fileOut.flush();

fileOut.close();

br.close();

//hwb=null;

}

}

}

最后

以上就是秀丽流沙为你收集整理的java csv 多个sheet_使用Apache POI在java中复制多个csv到xls文件的问题的全部内容,希望文章能够帮你解决java csv 多个sheet_使用Apache POI在java中复制多个csv到xls文件的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部