我正在尝试使用java将多个csv文件作为不同的工作表合并到一个excel工作簿中
我能够使用下面的java代码为一个Excel工作簿中的文件夹中存在的不同.csv文件创建工作表,但我将所有csv文件数据都放在一个工作表中。 我无法将与原始.csv文件相同的数据获取到指定的工作表中我正在尝试使用java将多个csv文件作为不同的工作表合并到一个excel工作簿中,java,apache-poi,Java,Apache Poi,我能够使用下面的java代码为一个Excel工作簿中的文件夹中存在的不同.csv文件创建工作表,但我将所有csv文件数据都放在一个工作表中。 我无法将与原始.csv文件相同的数据获取到指定的工作表中 public class CreateExlFile22{ public static void main(String[]args){ try{ HSSFWorkbook workbook=new HSSFWorkbook(); File fol
public class CreateExlFile22{
public static void main(String[]args){
try{
HSSFWorkbook workbook=new HSSFWorkbook();
File folder = new File("F:/csvfiles/");
File[] listOfFiles = folder.listFiles();
for (File file : listOfFiles) {
if (file.isFile()) {
System.out.println(file.getName());
String thisline;
ArrayList<String> al = null;
ArrayList<ArrayList<String>> arlist = new ArrayList<ArrayList<String>>();
HSSFSheet sheet = workbook.createSheet(file.getName());
FilenameFilter filter = new FilenameFilter()
{
@Override public boolean accept(File dir, String name)
{
return name.endsWith(".csv");
}
};
File file1[]=folder.listFiles(filter);
for(int r=0;r<file1.length;r++){
File currentFile=file1[r];
FileInputStream fis = new FileInputStream(currentFile);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
while ((thisline = br.readLine()) != null) {
al = new ArrayList<String>();
String strar[] = thisline.split(",");
for (int j = 0; j < strar.length; j++) {
al.add(strar[j]);
}
arlist.add(al);
//i++;
}
fis.close();
for (int k = 0; k < arlist.size(); k++) {
ArrayList<String> ardata = (ArrayList<String>) arlist.get(k);
HSSFRow row = sheet.createRow((short) k);
for (int p = 0; p < ardata.size(); p++) {
HSSFCell cell = row.createCell((short) p);
cell.setCellValue(ardata.get(p).toString());
}
}
FileOutputStream fileOut = new FileOutputStream("F://NewWBFile.xls");
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
br.close();
}
}
}
System.out.println("Your excel file has been generated!");
} catch ( Exception ex ) {
System.out.println(ex);
}
}
}
公共类CreateXlfile22{
公共静态void main(字符串[]args){
试一试{
HSSFWorkbook=新的HSSFWorkbook();
文件夹=新文件(“F:/csvfiles/”;
File[]listOfFiles=folder.listFiles();
对于(文件:listOfFiles){
if(file.isFile()){
System.out.println(file.getName());
把这条线串起来;
ArrayList al=null;
ArrayList arlist=新的ArrayList();
HSSFSheet sheet=workbook.createSheet(file.getName());
FilenameFilter筛选器=新建FilenameFilter()
{
@重写公共布尔接受(文件目录,字符串名称)
{
返回名称.endsWith(“.csv”);
}
};
文件file1[]=folder.listFiles(过滤器);
对于(int r=0;r公共类CSVXL{
公共静态void main(字符串[]args){
试一试{
文件夹=新文件(“F:/csvfiles/”;
File[]listOfFiles=folder.listFiles();
HSSFWorkbook=新的HSSFWorkbook();
对于(文件:listOfFiles){
if(file.isFile()){
把这条线串起来;
ArrayList al=null;
ArrayList arlist=新的ArrayList();
HSSFSheet sheet=workbook.createSheet(file.getName());
FileInputStream fis=新的FileInputStream(文件);
BufferedReader br=新的BufferedReader(新的InputStreamReader(fis));
而((thisline=br.readLine())!=null){
al=新的ArrayList();
字符串strar[]=thisline.split(“,”);
对于(int j=0;j
公共类CSVXL{
公共静态void main(字符串[]args){
试一试{
文件夹=新文件(“F:/csvfiles/”;
File[]listOfFiles=folder.listFiles();
HSSFWorkbook=新的HSSFWorkbook();
对于(文件:listOfFiles){
if(file.isFile()){
把这条线串起来;
ArrayList al=null;
ArrayList arlist=新的ArrayList();
HSSFSheet sheet=workbook.createSheet(file.getName());
FileInputStream fis=新的FileInputStream(文件);
BufferedReader br=新的BufferedReader(新的InputStreamReader(fis));
而((thisline=br.readLine())!=null){
al=新的ArrayList();
字符串strar[]=thisline.split(“,”);
对于(int j=0;j
公共类CSVXL{
公共静态void main(字符串[]args){
试一试{
文件夹=新文件(“F:/csvfiles/”;
File[]listOfFiles=folder.listFiles();
HSSFWorkbook=新的HSSFWorkbook();
对于(文件:listOfFiles){
if(file.isFile()){
把这条线串起来;
ArrayList al=null;
ArrayList arlist=新的ArrayList();
HSSFSheet sheet=workbook.createSheet(file.getName());
FileInputStream fis=新的FileInputStream(文件);
BufferedReader br=新的BufferedReader(新的InputStreamReader(fis));
而((thisline=br.readLine())!=null){
al=新的ArrayList();
字符串strar[]=thisline.split(“,”);
对于(int j=0;jpublic class csvxls{
public static void main(String[]args){
try{
File folder = new File("F:/csvfiles/");
File[] listOfFiles = folder.listFiles();
HSSFWorkbook workbook=new HSSFWorkbook();
for (File file : listOfFiles) {
if (file.isFile()) {
String thisline;
ArrayList<String> al = null;
ArrayList<ArrayList<String>> arlist = new ArrayList<ArrayList<String>>();
HSSFSheet sheet = workbook.createSheet(file.getName());
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
while ((thisline = br.readLine()) != null) {
al = new ArrayList<String>();
String strar[] = thisline.split(",");
for (int j = 0; j < strar.length; j++) {
for (int k = 0; k < arlist.size(); k++) {
ArrayList<String> ardata = (ArrayList<String>) arlist.get(k);
HSSFRow row = sheet.createRow((short) k);
for (int p = 0; p < ardata.size(); p++) {
HSSFCell cell = row.createCell((short) p);
cell.setCellValue(ardata.get(p).toString());
}
}
al.add(strar[j]);
}
arlist.add(al);
}
fis.close();
FileOutputStream fileOut = new FileOutputStream("F://NewWBFile.xls");
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
br.close();
}
}
System.out.println("Your excel file has been generated!");
} catch ( Exception ex ) {
System.out.println(ex);
}
}
}
public static void main(String[] args) {
String thisline;
int rowCounter = 0;
List<String> rowList = new ArrayList<String>();
try {
File folder = new File("C:/poc/csvFiles/");
File[] listOfFiles = folder.listFiles();
HSSFWorkbook workbook = new HSSFWorkbook();
for (File file : listOfFiles) {
if (file.isFile()) {
rowCounter=0;
rowList = new ArrayList<String>();
HSSFSheet sheet = workbook.createSheet(file.getName());
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
while ((thisline = br.readLine()) != null) {
rowList.add(thisline);
}
for (String rowLine: rowList) {
HSSFRow row = sheet.createRow(rowCounter);
rowCounter++;
String rowContentArr[] = rowLine.split(",");
for (int p = 0; p < rowContentArr.length; p++) {
@SuppressWarnings("deprecation")
HSSFCell cell = row.createCell((short) p);
cell.setCellValue(rowContentArr[p]);
}
}
fis.close();
FileOutputStream fileOut = new FileOutputStream("C:/poc/csvFiles/NewWBFile.xls");
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
br.close();
}
}
System.out.println("Your excel file has been generated!");
} catch (Exception ex) {
ex.printStackTrace();
}
}