Java List to Excel Columns

Posted by Nitin on Stack Overflow See other posts from Stack Overflow or by Nitin
Published on 2013-10-28T21:47:25Z Indexed on 2013/10/28 21:53 UTC
Read the original article Hit count: 283

Filed under:
|

Correct me where I'm going wrong.

I'm have written a program in Java which will get list of files from two different directories and make two (Java list) with the file names. I want to transfer the both the list (downloaded files list and Uploaded files list) to an excel.

What the result i'm getting is those list are transferred row wise. I want them in column wise.

Given below is the code:

    public class F {

static List<String> downloadList = new ArrayList<>();
static List<String> dispatchList = new ArrayList<>();

public static class FileVisitor extends SimpleFileVisitor<Path> {

    @Override
    public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
        String name = file.toRealPath().getFileName().toString();
        if (name.endsWith(".pdf") || name.endsWith(".zip")) {
            downloadList.add(name);
        }
        if (name.endsWith(".xml")) {
            dispatchList.add(name);
        }
        return FileVisitResult.CONTINUE;
    }
}

public static void main(String[] args) throws IOException {
    try {
        Path downloadPath = Paths.get("E:\\report\\02_Download\\10252013");
        Path dispatchPath = Paths.get("E:\\report\\01_Dispatch\\10252013");

        FileVisitor visitor = new FileVisitor();
        Files.walkFileTree(downloadPath, visitor);
        Files.walkFileTree(downloadPath, EnumSet.of(FileVisitOption.FOLLOW_LINKS), 1, visitor);

        Files.walkFileTree(dispatchPath, visitor);
        Files.walkFileTree(dispatchPath, EnumSet.of(FileVisitOption.FOLLOW_LINKS), 1, visitor);
        System.out.println("Download File List" + downloadList);
        System.out.println("Dispatch File List" + dispatchList);
        F f = new F();
        f.UpDown(downloadList, dispatchList);
    } catch (Exception ex) {
        Logger.getLogger(F.class.getName()).log(Level.SEVERE, null, ex);
    }

}
int rownum = 0;
int colnum = 0;
HSSFSheet firstSheet;
Collection<File> files;
HSSFWorkbook workbook;
File exactFile;

{
    workbook = new HSSFWorkbook();
    firstSheet = workbook.createSheet("10252013");
    Row headerRow = firstSheet.createRow(rownum);
    headerRow.setHeightInPoints(40);
}

public void UpDown(List<String> download, List<String> upload) throws Exception {

    List<String> headerRow = new ArrayList<>();
    headerRow.add("Downloaded");
    headerRow.add("Uploaded");
    List<List> recordToAdd = new ArrayList<>();

    recordToAdd.add(headerRow);
    recordToAdd.add(download);
    recordToAdd.add(upload);
    F f = new F();
    f.CreateExcelFile(recordToAdd);
    f.createExcelFile();
}

void createExcelFile() {
    FileOutputStream fos = null;
    try {
        fos = new FileOutputStream(new File("E:\\report\\Download&Upload.xls"));
        HSSFCellStyle hsfstyle = workbook.createCellStyle();
        hsfstyle.setBorderBottom((short) 1);
        hsfstyle.setFillBackgroundColor((short) 245);
        workbook.write(fos);
    } catch (Exception e) {
    }
}

public void CreateExcelFile(List<List> l1) throws Exception {
    try {
        for (int j = 0; j < l1.size(); j++) {
            Row row = firstSheet.createRow(rownum);
            List<String> l2 = l1.get(j);
            for (int k = 0; k < l2.size(); k++) {
                Cell cell = row.createCell(k);
                cell.setCellValue(l2.get(k));
            }
            rownum++;
        }
    } catch (Exception e) {
    } finally {
    }
}
    }

(The purpose is to verify the files Downloaded and Uploaded for the given date) Thanks.

© Stack Overflow or respective owner

Related posts about java

Related posts about excel