`
橄榄绿
  • 浏览: 277216 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

生成一个Excel文件POI

 
阅读更多

/**   
     *   生成一个Excel文件POI
     *   @param   inputFile   输入模板文件路径  
     *   @param   outputFile   输入文件存放于服务器路径  
     *   @param   dataList   待导出数据  
     *   @throws   Exception  
     *   @roseuid:  
     */

    public static void exportExcelFile(String inputFile,String outputFile,List dataList) throws Exception{
  //用模板文件构造poi  
  POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(inputFile));
  //创建模板工作表  
  HSSFWorkbook templatewb = new HSSFWorkbook(fs);
  //直接取模板第一个sheet对象  
  HSSFSheet templateSheet = templatewb.getSheetAt(1);
  //得到模板的第一个sheet的第一行对象   为了得到模板样式  
  HSSFRow templateRow = templateSheet.getRow(0);

  //HSSFSheet   timplateSheet   =   templatewb.getSheetAt(1);  
  //取得Excel文件的总列数  
  int columns = templateSheet.getRow((short) 0)
    .getPhysicalNumberOfCells();
//  Debug.println("columns   is   :   " + columns);  //=========================
  //创建样式数组  
  HSSFCellStyle styleArray[] = new HSSFCellStyle[columns];

  //一次性创建所有列的样式放在数组里  
  for (int s = 0; s < columns; s++) {
   //得到数组实例  
   styleArray[s] = templatewb.createCellStyle();
  }
  //循环对每一个单元格进行赋值    
  //定位行  
  for (int rowId = 1; rowId < dataList.size(); rowId++) {
   //依次取第rowId行数据   每一个数据是valueList  
   List valueList = (List) dataList.get(rowId - 1);
   //定位列  
   for (int columnId = 0; columnId < columns; columnId++) {
    //依次取出对应与colunmId列的值  
    //每一个单元格的值  
    String dataValue = (String) valueList.get(columnId);
    //取出colunmId列的的style  
    //模板每一列的样式  
    HSSFCellStyle style = styleArray[columnId];
    //取模板第colunmId列的单元格对象  
    //模板单元格对象  
    HSSFCell templateCell = templateRow.getCell((short) columnId);
    //创建一个新的rowId行   行对象  
    //新建的行对象    
    HSSFRow hssfRow = templateSheet.createRow(rowId);
    //创建新的rowId行   columnId列   单元格对象  
    //新建的单元格对象  
    HSSFCell cell = hssfRow.createCell((short) columnId);
    //如果对应的模板单元格   样式为非锁定  
    if (templateCell.getCellStyle().getLocked() == false) {
     //设置此列style为非锁定  
     style.setLocked(false);
     //设置到新的单元格上  
     cell.setCellStyle(style);
    }
    //否则样式为锁定  
    else {
     //设置此列style为锁定  
     style.setLocked(true);
     //设置到新单元格上  
     cell.setCellStyle(style);
    }
    //设置编码  
    cell.setEncoding(HSSFCell.ENCODING_UTF_16);
    //Debug.println("dataValue   :   "   +   dataValue);  
    //设置值   统一为String  
    cell.setCellValue(dataValue);
   }
  }
  //设置输入流  
  FileOutputStream fOut = new FileOutputStream(outputFile);
  //将模板的内容写到输出文件上  
  templatewb.write(fOut);
  fOut.flush();

  //操作结束,关闭文件  
  fOut.close();

 }

分享到:
评论

相关推荐

    java poi 根据excel模板生成excel文件

    在本文中,我们将深入探讨如何使用Java POI库根据已有的Excel模板生成新的Excel文件。 首先,理解“模板”在Excel中的概念非常重要。模板通常包含预设的格式、样式、公式和数据结构,可以作为创建新文件的基础。在...

    POI导出Excel文件

    它允许用户请求一个URL,然后服务器生成Excel文件并将其作为HTTP响应的一部分返回。在实现中,Servlet会创建一个Workbook对象,添加Sheet,然后在Sheet上创建Row和Cell,填充数据。最后,Servlet将Workbook写入...

    java的poi生成excel图表demo

    要生成Excel图表,我们需要先创建一个`XSSFWorkbook`对象,这代表了整个Excel工作簿。接着,创建` XSSFSheet `对象,表示一个工作表,并填充必要的数据。数据是图表的基础,所以要确保你有合适的数值或分类数据以供...

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

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

    java生成excel文件(poi).rar_POI java_java excel_poi EXCEL模板_poi-3.8-

    在这个“java生成excel文件(poi).rar”压缩包中,我们看到的是一个使用POI库创建Excel文件的示例代码。 Apache POI提供了API来创建、读取和修改Excel文件。在“POI java_java excel_poi EXCEL模板”这一标签中,...

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

    在Android开发中,Apache POI 是一个非常实用的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,如Word文档(.doc)和Excel工作簿(.xlsx或.xls)。这个工具对于需要在Android应用中处理这些文档的...

    java调用poi生成excel文件

    java代码调用poi架包, 把数据生成excel文件, 导出到文件

    Apache poi 操作 excel 文件压缩包

    在实际应用中,Apache POI 往往用于数据分析、报表生成、数据导入导出等场景,尤其在需要在服务器端生成或处理Excel文件时,它是Java开发者的重要工具。通过熟练掌握Apache POI,你可以提高Java应用程序与Excel交互...

    Java POI根据模板生成Excel(xlsx)文件

    在本示例中,我们关注的是如何利用Java POI来根据模板生成.xlsx格式的Excel文件。这个过程涉及到对Excel模板的理解、读取、修改以及最终的保存。 首先,理解模板文件是关键。一个.xlsx模板文件实际上是由一系列XML...

    Java POI 生成Excel(xlsx)文件

    生成Excel文件的基本步骤如下: 1. **创建Workbook对象**:Workbook是Excel文件的顶级容器,类似于Excel工作簿。你可以通过`XSSFWorkbook()`创建一个.xlsx类型的Workbook。 ```java import org.apache.poi.xssf....

    poi多线程大数据导出excel文件.zip

    本项目“poi多线程大数据导出excel文件”提供了一个解决方案,利用多线程来提高Excel的大数据导出效率。 Apache POI 3.1版本是较早的版本,而项目中使用了更新的4.1版本,这意味着它可能利用了更多优化和新特性。在...

    操作Excel文件(读取和生成)jxl和poi

    以下是一个简单的JXL示例,展示如何生成Excel文件: ```java import jxl.*; public class 生成Excel文件 { public static void main(String[] args) throws Exception { // 创建工作簿对象 WritableWorkbook ...

    SpringMVC POI Excel 生成导出

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

    java导出30万数据量的excel(采用生成多个excel,最后打包zip)

    每个线程负责一个Excel文件的生成,这能充分利用多核处理器的计算能力,但需要注意线程安全问题,防止数据冲突。 4. **流式处理**: 使用Apache POI的SXSSFWorkbook类,它支持流式处理,可以在写入文件的同时释放...

    poi导出大数据,先生成多个excel在生成一个jar包

    标题中的“poi导出大数据,先生成多个excel在生成一个jar包”涉及到的是使用Apache POI库处理大数据量Excel导出,并将结果整合到一个Java Archive (JAR) 文件中的技术。Apache POI是一个流行的开源库,允许程序员...

    java读取excel文件POI+jxl

    JXL,另一方面,是一个相对轻量级的库,专注于Excel文件的读写。虽然它的API可能更容易上手,但其功能相比POI来说较为有限。JXL支持.xls文件,但不支持.xlsx格式。它可以处理基本的单元格数据、样式和公式,但缺乏对...

    POI操作Excel完美生成水印

    本教程将深入探讨如何利用Apache POI来在Excel文件中完美地生成水印。水印通常用于标识文档的所有权或提供额外的安全层,而这里的水印是通过将文字转化为图片再添加到Excel工作表中实现的。 首先,我们需要了解...

    JAVA使用POI生成Excel文件

    这篇博客"JAVA使用POI生成Excel文件"主要介绍了如何利用Apache POI来创建和操作Excel文档。 首先,我们需要了解Apache POI的基本概念。Apache POI是Apache软件基金会的一个开源项目,它提供了Java API,使得开发者...

    POI使用Excel模板文件循环输出行并导出Excel

    在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...

Global site tag (gtag.js) - Google Analytics