`
jwfpd
  • 浏览: 127994 次
  • 性别: Icon_minigender_1
  • 来自: 中国安徽
社区版块
存档分类
最新评论

利用poi生成excel表格

    博客分类:
  • java
阅读更多

import java.io.FileOutputStream;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.Region;

public class ExportToExcel {

 /**
  * @description
  *
  * @param args
  */
 public static void main(String[] args)
 {
  List listRow = null;
  List listCell = null;
  // TODO Auto-generated method stub
  ExportToExcel(listRow,listCell);
 }
 public static void ExportToExcel(List listRow,List listCell)
 {
    try
    {
       HSSFWorkbook wb = new HSSFWorkbook();
       HSSFSheet sheet = wb.createSheet("sheet1");
       HSSFRow row = null;
       HSSFCell cell = null;
      
       //width size
//        sheet.setDefaultColumnWidth((short)500);
      
       //style
       HSSFCellStyle cs = wb.createCellStyle();//create astyle
       HSSFFont littleFont = wb.createFont();//create a Font
       littleFont.setFontName("SimSun");
       littleFont.setFontHeightInPoints((short)7);
       cs.setFont(littleFont);//set font
       cs.setAlignment(HSSFCellStyle.ALIGN_CENTER);//align center
       cs.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//valign middle
       cs.setBorderBottom(HSSFCellStyle.BORDER_THIN);//bottom border
       cs.setBorderLeft(HSSFCellStyle.BORDER_THIN);//left border
       cs.setBorderRight(HSSFCellStyle.BORDER_THIN);//right border
       cs.setBorderTop(HSSFCellStyle.BORDER_THIN);//top border
            
       //file name
       /*
       row = sheet.createRow((short)0);
       row.setHeight((short)300);
       cell = row.createCell((short)0);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("This is a test out print");
       sheet.addMergedRegion(new Region(0,(short)0,0,(short)7));//merged region
      
      
       row = sheet.createRow((short)1);
       row.setHeight((short)300);
       cell = row.createCell((short)0);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("name");
       sheet.addMergedRegion(new Region(1,(short)0,1,(short)1));
      
       cell = row.createCell((short)2);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("sex");
       sheet.addMergedRegion(new Region(1,(short)2,1,(short)3));
      
       cell = row.createCell((short)4);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("nation");
       sheet.addMergedRegion(new Region(1,(short)4,1,(short)5));
      
       cell = row.createCell((short)6);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("native place");
       sheet.addMergedRegion(new Region(1,(short)6,1,(short)7));
      
      
       row = sheet.createRow((short)2);
       row.setHeight((short)300);
       cell = row.createCell((short)0);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("aaa");
       sheet.addMergedRegion(new Region(2,(short)0,2,(short)1));
      
      
       cell = row.createCell((short)2);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("male");
       sheet.addMergedRegion(new Region(2,(short)2,2,(short)3));
      
       cell = row.createCell((short)4);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("han");
       sheet.addMergedRegion(new Region(2,(short)4,2,(short)5));
      
       cell = row.createCell((short)6);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("chengduaa");
       sheet.addMergedRegion(new Region(2,(short)6,2,(short)7));
      
       row = sheet.createRow((short)3);
       row.setHeight((short)300);
       cell = row.createCell((short)0);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("bbb");
       sheet.addMergedRegion(new Region(3,(short)0,3,(short)1));
      
       cell = row.createCell((short)2);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("man");
       sheet.addMergedRegion(new Region(3,(short)2,3,(short)3));
      
       cell = row.createCell((short)4);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("han");
       sheet.addMergedRegion(new Region(3,(short)4,3,(short)5));
      
       cell = row.createCell((short)6);
       cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       cell.setCellValue("chengduaa");
       sheet.addMergedRegion(new Region(3,(short)6,3,(short)7));
       */
      
       for(short i=0; i <listRow.size()+1;i++)

 {
    row = sheet.createRow(i);
    row.setHeight((short)300);
       for(short j=0; j<listCell.size();j++)        

      {

      cell = row.createCell(j);
        if(i==0)
        {
         cell.setCellValue(listCell.get(j).toString());
        }
        else if(i<=listRow.size())
        { 
         cell.setCellValue(((List)listRow.get(i-1)).get(j).toString());
        }
        cell.setEncoding(HSSFCell.ENCODING_UTF_16);
       }
     }
      
       //println
       FileOutputStream fileOut = new FileOutputStream("C:\\Documents and Settings\\wei\\Desktop\\ReprotByArtist20070226.xls");
       wb.write(fileOut);
       fileOut.close();
       System.out.println("Export successfully...");
   }
    catch (Exception e)
    {
       e.printStackTrace();
    }
 }
}

分享到:
评论
1 楼 hdljavaeye 2008-06-29  
请问楼主一下:cell.setCellValue(((List)listRow.get(i-1)).get(j).toString());这句应该有问题吧!一个ArrayList能get两次吗?你ExportToExcel方法中传入的那个list是在DAO操作时r把所有的VO值放入到ArrayList吗?

相关推荐

    poi生成excel表格

    Apache POI 是一个开源项目...以上是Apache POI生成Excel表格的基本知识点和操作步骤。通过这些示例,你可以理解如何在Java应用中利用POI进行Excel文件的创建、读取和修改,以及如何结合数据库操作实现数据的导入导出。

    java的poi生成excel图表demo

    通过这个“java的poi生成excel图表demo”,我们可以学习如何利用POI创建动态的、数据驱动的Excel曲线图,进一步提升数据的可视性和理解性。这个压缩包中的“EexcelChart”可能是示例代码、测试数据或生成的Excel文件...

    POI导出Excel表格

    在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...

    poi导出excel表格

    本教程将详细讲解如何使用Apache POI在Web环境中导出Excel表格,避免生成不必要的临时文件,从而优化系统资源管理。 一、Apache POI简介 Apache POI 是一个开源项目,它提供了Java API来处理Microsoft的Office格式...

    android中poi生成word文档和excel文档

    在标题“android中poi生成word文档和excel文档”中提到的使用POI库生成Word和Excel文档,主要涉及到以下几个关键知识点: 1. **Apache POI 概述**:Apache POI 是一个开源项目,提供了一套API,用于读写Microsoft ...

    POI生成excel报表

    ### POI生成Excel报表知识点详解 #### 一、Apache POI简介 Apache POI是Apache软件基金会的一个开源项目,主要用于处理Microsoft Office格式的文件。它提供了API来读写Word、Excel等Office文档格式。其中,处理...

    POI生成Excel POI操作Excel POI读取Excel POI类库

    **POI生成Excel** 生成Excel文件主要涉及以下步骤: 1. **创建Workbook对象**:这是Excel文件的顶级容器,可以是XSSFWorkbook(.xlsx格式)或HSSFWorkbook(.xls格式)。 2. **创建Sheet对象**:Sheet代表Excel...

    poi操作excel表格导入和导出

    在“poi操作excel表格导入和导出”这个主题中,我们将深入探讨如何利用Apache POI进行Excel数据的处理,包括导入和导出。 一、Apache POI简介 Apache POI是一个开源项目,它提供了API来处理Microsoft Office格式的...

    Java利用poi导出excel表格

    通过以上步骤,我们可以实现从数据库中获取数据并利用Apache POI在Java中生成Excel报表,提供给用户下载或进一步分析。这个过程不仅适用于简单的数据导出,也可以扩展到复杂的报表生成,如合并单元格、插入图表、...

    图片缩略图以及poi生成excel文档

    平时工作中用到的一些技术点,拿出来和大家共享一下。 有些功能比较粗糙,如果大家有更加完善的示例或建议,欢迎交流。 1、jpg图片缩略图:ImageUtil ...2、poi创建excel:CDSHdlReport 3、计算表达式求值:Cal

    poi生成Excel及合并单元格示例

    在本示例中,我们将重点讨论如何使用 Apache POI 来生成 Excel 文件,并进行单元格的合并操作。 首先,我们需要引入 Apache POI 的相关依赖库。如果你使用的是 Maven,可以在项目的 `pom.xml` 文件中添加以下依赖:...

    POI操作Excel完美生成水印

    以下是一个简化的示例代码片段,展示了如何使用Apache POI生成水印: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; //... 加载Excel文件 ... // 创建文字图片 ...

    SpringMVC POI Excel 生成导出

    "SpringMVC POI Excel 生成导出" SpringMVC 是一个基于 Java 的 Web 框架,POI 是一个 Java 库,用于操作 Microsoft Office 文件格式,Excel 是一个电子表格软件。今天,我们将在 SpringMVC 中使用 POI 生成 Excel ...

    poi 生成Excel的详细例子

    在这个"poi 生成Excel的详细例子"中,我们将深入探讨如何利用Apache POI库来创建、编辑和格式化Excel工作簿。这个例子涵盖了从基本的单元格操作到复杂的样式设定,为开发者提供了全面的参考。 首先,我们需要导入...

    poi复制指定行数的Excel表格内容

    本教程将深入探讨如何使用Apache POI库来复制Excel表格的指定行数及其样式。 首先,让我们理解标题"poi复制指定行数的Excel表格内容"。这指的是使用Apache POI库来复制Excel文件中特定行的数据,并保留原有的格式和...

    poi生成excel报表合并列

    通过分析和学习这个文件,你可以更好地理解如何用Apache POI生成带有合并列的Excel报表。 总结起来,Apache POI提供了一整套API来操作Excel文件,包括创建、修改和读取。在生成具有合并列和层次结构的报表时,我们...

    java使用POI插件绘制表格曲线图

    在“java使用POI插件绘制表格曲线图”这个主题中,我们将深入探讨如何使用POI来在Excel工作表中绘制曲线图表。Apache POI提供了一个API,使得开发者可以方便地创建图表,包括曲线图,而无需依赖其他外部插件。 首先...

    使用POI在Excel中动态生成图表工具类(支持柱状、组合、环状图、折线图、等常用图)

    以上就是使用Apache POI在Excel中动态生成各种图表的基本步骤。在实际应用中,可以根据需求进行更复杂的定制,如调整数据系列的颜色、添加数据标签、设置轴的范围等。通过深入学习POI的API,可以实现更多功能,提高...

    Java通过POI读取Excel遍历数据,批量生成word文档

    通过这种方式,你可以根据业务需求,利用Java和Apache POI库实现Excel数据的批处理,生成大量定制化的Word文档。这个过程对于报告生成、自动化数据导出或者大规模邮件合并等场景非常有用。 这个示例代码只是一个...

Global site tag (gtag.js) - Google Analytics