`
冰糖葫芦有点酸
  • 浏览: 29783 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

Java中使用poi导入/导出excel文件

    博客分类:
  • Java
阅读更多
1. 导入poi相关jar包(可以在apache 官网下载最新版)
poi.jar
poi-ooxml.jar
poi-ooxml-schemas.jar

2. 代码如下
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

import static java.lang.System.out;


public class Util {

    // create excel with two columns, the first column are numbers 0-99, the second column are numbers 1-100
    public static void exportExcel() throws IOException {
        try {
            //create workbook
            HSSFWorkbook wb = new HSSFWorkbook();
            //create the first sheet
            HSSFSheet mappingSheet = wb.createSheet("Sheet Name");
            //header style
            HSSFCellStyle headerCellStyle = wb.createCellStyle();
            HSSFFont font = wb.createFont();
            font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
            headerCellStyle.setFont(font);
            //body style
            HSSFCellStyle bodyCellStyle = wb.createCellStyle();
            HSSFFont bodyFont = wb.createFont();
            bodyFont.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
            bodyCellStyle.setFont(bodyFont);
            //header rows
            String[] mappingSheetRowTitle = { "Row Title"};
            String[] mappingSheetRowHeaderColumn = { "Column1 Title", "Column2 Title"};
            //set header
            addRow(wb, mappingSheet, headerCellStyle, 0, mappingSheetRowTitle);
            addRow(wb, mappingSheet, headerCellStyle, 2, mappingSheetRowHeaderColumn);
            //populate data
            String[] mappingData = new String[2];
            int i = 0;
            for (i = 0; i < 100; i++){
                mappingData[0] = i + "";
                mappingData[1] = (i + 1) + "";
                addRow(wb, mappingSheet, bodyCellStyle, i+3, mappingData);
            }

            OutputStream out = new FileOutputStream("C:\\test\\test.xls");
            wb.write(out);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            out.close();
        }
    }

    //add rows
    private static void addRow(HSSFWorkbook wb, HSSFSheet sheet, HSSFCellStyle cellStyle, int rowNum, String[] rowText) {
        HSSFRow row = sheet.createRow(rowNum);
        for (int i = 0; i < rowText.length; i++) {
            addCell(row, cellStyle, i, rowText[i]);
        }
    }

    //add columns
    private static void addCell(HSSFRow row, HSSFCellStyle cellStyle, int colNum, String text) {
        HSSFCell cell = row.createCell(colNum);
        cell.setCellValue(text);
        if (cellStyle != null)
            cell.setCellStyle(cellStyle);
    }

    //import excel and print data in console
    public static void importExcel() throws IOException {
        FileInputStream in = null;
        try {
            in = new FileInputStream("C:\\test\\test.xls");
            Workbook wb = new HSSFWorkbook(in);
            //get the first sheet
            Sheet sheet = wb.getSheetAt(0);
            for (Row row : sheet) {
                for (Cell cell : row) {
                    out.print (cell.toString() + "    ");
                }
                out.println();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            in.close();
        }
    }
}


3.常见的错误
如:已运行xlRead() : org.apache.poi.poifs.filesystem.NotOLE2FileException: Invalid header signature; read 0x0000000000000000, expected 0xE11AB1A1E011CFD0 - Your file appears not to be a valid OLE2 document 这个一般有两种原因,有excel表格的首字段没设置,导致替换时出现错误,还有中原因是excel版本问题,这个只支持.xls格式的

4.更多博文
a. http://gaochun091024.blog.51cto.com/6643038/1242195
b. http://soukenan.blog.51cto.com/5130995/1188971
c. http://blog.csdn.net/u013766436/article/details/50908073
d. http://meigesir.iteye.com/blog/1539358(文件下载)
分享到:
评论

相关推荐

    poi导入/导出Excel表格,合并单元格的读取和设置

    poi导入/导出Excel表格,合并单元格的读取和设置

    java_poi实现excel导入导出

    Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 ...在本文中,我们已经详细介绍了如何使用 Java POI 实现 Excel 导入导出功能,包括读取和写入 Excel 文件。

    Apache POI导入和导出Excel文件.

    Apache POI导入和导出Excel文件

    Java poi导入导出EXCEL工具类(兼容各版本)

    概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...

    Java基于POI的导入导出excel功能,附带测试功能,项目基于Maven,导入即可用,带测试Main方法提供例子

    Java基于POI的导入导出excel功能,附带测试功能,项目基于Maven,导入即可用,带测试Main方法提供例子。 用于导入导出Excel的Util包,基于Java的POI。可将List导出成Excel,或读取Excel成List、Map,Object&gt;,很方便...

    Java POI EXCEL导入导出

    Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出...

    SpringBoot +Mybatis +POI导入、导出Excel文件

    总的来说,"SpringBoot + Mybatis + POI导入、导出Excel文件"的项目是一个实用的工具,可以帮助开发者快速实现数据交换功能,提高工作效率。通过理解SpringBoot的自动配置、Mybatis的SQL映射以及POI的Excel操作,...

    通用excel导入/导出 (poi)

    在导出Excel时,你需要创建一个工作簿(Workbook)对象,然后添加工作表(Sheet),并在工作表中创建行(Row)和单元格(Cell)。数据可以从数据库、集合或其他数据源填充到这些单元格中。以下是一个简单的例子: `...

    JAVA实现数据库数据导入/导出到Excel(POI)

    获取通话记录文件格式vcf的转化,JAVA实现数据库数据导入/导出到Excel(POI)

    SSM框架利用poi导入导出Excel文件 demo

    在本示例"SSM框架利用poi导入导出Excel文件 demo"中,我们将探讨如何在SSM项目中使用Apache POI库来实现Excel文件的导入与导出功能。 Apache POI是一个流行的开源库,它允许开发者在Java应用程序中创建、修改和显示...

    Java 使用poi导入excel 并使用xml做数据验证

    在Java开发中,处理Excel数据是一项常见的任务,尤其是在数据导入导出、数据分析或者报表生成等场景。Apache POI是一个流行的库,它允许开发者使用Java来读取、写入和修改Microsoft Office格式的文件,包括Excel(....

    POI实现Excel导入导出并附带加载进度条

    总之,这个项目是一个完整的Java解决方案,用于处理Excel文件的导入导出,同时具备用户友好的进度条显示。它利用了Apache POI的强大功能,结合maven的依赖管理,以及可能的GUI组件,提供了高效且直观的数据操作体验...

    JAVA实现数据库数据导入导出到Excel(POI)所需jar包

    在Java开发中,有时我们需要将数据库中的数据导出到Excel文件,或者从Excel文件导入数据到数据库。Apache POI是一个流行的API,专为处理Microsoft Office格式的文件,如Excel(.xlsx, .xls)。本教程将详细介绍如何...

    java导出excel POI jar包

    Java导出Excel是Java开发中常见的需求,尤其是在数据处理和报表生成方面。Apache POI库是Java领域中广泛使用的工具,它允许开发者读写Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。本篇文章将深入讲解...

    使用poi从数据库导出excel表的示例

    总结起来,"使用poi从数据库导出excel表的示例"是一个结合了Struts1 MVC框架和Apache POI库的Java编程任务,它涉及数据库连接、SQL查询、Excel文件生成以及Web应用响应。这个过程不仅有助于数据的高效管理和分享,也...

    java 利用POI 导入导出Excel

    前几天项目上需要加上导入导出,在网上找了一下,么有...于是自己写,源码里所需要的jar都有,从jsp界面进行Excel的导入导出,并可用于上传和下载。如有所用,喜不自禁,分享,开源的意义。 写的不是特别好,不喜勿喷!

    SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip

    总的来说,这个项目展示了如何在Java环境中,结合Spring Boot的便利性,利用MyBatis进行数据库操作,借助Apache POI处理Excel文件,以及Thymeleaf生成动态页面,实现数据的导入导出功能。这是一个综合性的Java Web...

    poi导入导出excel功能

    在Java开发中,Apache POI库是一个非常重要的工具,它允许开发者读取、写入以及修改Microsoft Office格式的文件,包括Excel。本案例基于Maven项目结构,利用Apache POI库实现了Excel的导入与导出功能,为初学者提供...

Global site tag (gtag.js) - Google Analytics