将数据写入Excel工作表java [英] Write data into Excel sheet java

查看:613
本文介绍了将数据写入Excel工作表java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有3个列表,即list1,list2和list3。我想在excel表中将这些列表显示为3列。例如,列表1中的值应显示在Excel工作表的第一列中。我将所有3个列表添加到最终列表中,如下所示,并能够将它们显示为单独的行,不知道如何显示为列。我正在使用apachepoi。

I have 3 lists namely list1, list2 and list3. And I want to display these lists in an excel sheet as 3 columns. For example the values in list 1 should be displayed in the first column of Excel sheet. I am adding all the 3 lists to a final list as below and able to display them as separate rows and no idea how can i display as columns. I am using apachepoi.

List<List> finalList = new ArrayList<List>();
     finalList .add(list1);
     finalList .add(list2);
 WritingToExcelFile(List<List> l1) throws Exception {  //passing finalList here
    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) {
        e.printStackTrace();
    } finally {
    }
}


推荐答案

假设你的列表大小相同,为什么不能这样:

Assuming your lists are all the same size, why not something like:

Sheet s = wb.createSheet();
for (int i=0; i<firstList.size(); i++) {
   Row r = s.createRow(i);
   r.createCell(0).setCellValue( list1.get(i) );
   r.createCell(1).setCellValue( list2.get(i) );
   r.createCell(2).setCellValue( list3.get(i) );
}

如果您的列表长度可能不同,则需要额外的错误处理如果您需要为列表内容执行格式化/日期/等,则需要逻辑

Add extra error handling if your lists might not be the same length, and extra logic if you need to do formatting / dates / etc for the list contents

这篇关于将数据写入Excel工作表java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆