需要将数据库中的列表类型数据写入不同的Excel工作表

时间:2012-06-07 09:45:35

标签: java apache-poi

我有从数据库返回的列表类型数据,我想将其写入电子表格。查询中的Order By子句按A,B,C顺序排列。我想将此有序数据写入同一excel工作簿中的不同工作表中。请让我知道如何做到这一点。我正在使用POI将数据写入Excel。

2 个答案:

答案 0 :(得分:1)

我想您可以写入xls文件。

所以你可以像这样定义表格:

public static void exportToXls()
{
  Workbook wb = new HSSFWorkbook();
  ...
  Sheet sheetA = wb.createSheet("sheetA"); 
  Sheet sheetB = wb.createSheet("sheetB");
  Sheet sheetC = wb.createSheet("sheetC");
  ...
  // export the appropriate list to the appropriate sheet
  for (YourObject item : listOrderedByA)
  { 
    rowNo++;
    row = sheetA.createRow((short)rowNo); 
    ...
    // define the columns
  }
  // and similarly for the other lists (ordered by B or C)

答案 1 :(得分:0)

感谢您的回复,但我真正需要的是,如果我的数据是按A,B和C排序的,我需要创建一个新的表A,B或C,并在每次数据更改时在其中写入相应的数据根据订单条款。这也涉及到更多的问题。最后,我最终做的是,我在数据库查询中添加了一个变量 -

select distinct CASE WHEN color = 'Red' THEN 'A' WHEN color = 'Blue' THEN 'B' WHEN color = 'Green' THEN 'C' END AS sheetName, <other fetches from DB>....

所以,这样,我可以在我的代码中检查sheetName的更改并根据它创建一个新工作表。

谢谢, Raaz