`

Excel文件的导入与导出

阅读更多

       最近一个项目中用到了Excel文件的导出,经过一段时间的学习,了解到Excel文件的导入与导出大致有两种方式:poi与jxl。自己结合网上的材料略微整理了一下。下面例子中所用到的jar包

       poi   poi-3.0.1.jar

       jxl    jxl.jar

 

 

package com.lhy.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class ExcelInAndOut {
 
 public static void main(String[] args) {
  //jxlout();
     // jxlin();
  //poiin();
  poiout();
 }
   
  //Excel数据以poi方式导入
 public static void poiin(){
  
         String filePath="D://lhy.xls";
     
      try {
             // 创建对Excel工作簿文件的引用
             HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath));
             // 在Excel文档中,第一张工作表的缺省索引是0,其语句为
            
             //  HSSFSheet sheet = wookbook.getSheetAt(0);
             String name =wookbook.getSheetName(0);     //得到第一个工作表的名字
             HSSFSheet sheet = wookbook.getSheet(name);   //得到第一个工作表
          
            //  int t= wookbook.getSheetIndex("sheet1");
             System.out.println(name);
             //获取到Excel文件中的所有行数
             int rows = sheet.getPhysicalNumberOfRows();
             //遍历行
                 for (int i = 0; i < rows; i++) {
                   // 读取左上端单元格
                   HSSFRow row = sheet.getRow(i);
                   // 行不为空
                    if (row != null) {
                         //获取到Excel文件中的所有的列
                         int cells = row.getPhysicalNumberOfCells();
                         String value = "";    
                         //遍历列
                           for (int j = 0; j < cells; j++) {
                               //获取到列的值
                               HSSFCell cell = row.getCell((short) j);
                                  if (cell != null) {
                                         switch (cell.getCellType()) {
                                           case HSSFCell.CELL_TYPE_FORMULA:
                                           break;
                                           case HSSFCell.CELL_TYPE_NUMERIC:
                                               //  value += cell.getNumericCellValue() + ",";  
                                            System.out.println(cell.getNumericCellValue());
                                           break;  
                                           case HSSFCell.CELL_TYPE_STRING:
                                               //  value += cell.getStringCellValue() + ",";
                                            System.out.println(cell.getStringCellValue());
                                           break;
                                           default:
                                               //  value += "0";
                                           break;
                                         }
                                  } 
                          }
                    }
               }
         }catch(Exception e){
          e.printStackTrace();
        }
 }
 
 //poi方式导出到外部Excel文件
    public static void poiout(){
     
     //生成的Excel文件路径
     String filePath="D:/lhy.xls";
     try{
          //准备输出工作流文件
      FileOutputStream fout = new FileOutputStream(new File(filePath)); 
                  
      //创建excel文件
      HSSFWorkbook wb = new HSSFWorkbook();
   
         //创建第一个工作表first
      HSSFSheet sheet=wb.createSheet("first");
      //创建第一行
         HSSFRow row=sheet.createRow(0);
        
      //创建两个单元格
      HSSFCell cell[]=new HSSFCell[2];
      
      cell[0] = row.createCell((short) 0);
      cell[0].setCellValue("lhy");
      
      
      cell[1] = row.createCell((short) 1);
      cell[1].setCellValue("123.456");
        
       //将工作流数据写入到工作表中
       wb.write(fout);  
          fout.flush();  
             fout.close();
      }
     catch(Exception e){
      e.printStackTrace();
     }
  
 }
   
    //Excel数据以jxl方式导入
    public static void jxlin(){
     
     try {  
    //导入的Excel名字和路径
        Workbook book = Workbook.getWorkbook(new File("d:/lhy.xls"));  
        //得到第一个工作薄 
        Sheet sheet = book.getSheet(0);  
        //得到工作薄的行数
        int rows=sheet.getRows();
        //得到工作薄的列数
        int cols=sheet.getColumns();
       
        for(int r=0;r<rows;r++){
         for(int c=0;c<cols;c++){
          //  System.out.println("r="+r+"  c="+c);
          //得到单元格数据
          Cell cell=sheet.getCell(c, r);
          String result=cell.getContents();
          System.out.println(result);
         }
        }
       
         book.close();  
       } catch (Exception e) {  
        e.printStackTrace();  
      }
      
 }
   
    //jxl方式导出到外部Excel文件
    public static void jxlout(){
  
       try {  
       //新建工作表路径和Excel表名字
       WritableWorkbook book = Workbook.createWorkbook(new File("d:/lhy.xls"));  
             //创建第一个工作薄,以first命名
       WritableSheet sheet = book.createSheet("first", 0);  
          //在第1行第1列,创建标签写入字符串数据  
          Label label = new Label(0, 0, "lhy");  
          //加入到工作薄的相应单元格中
             sheet.addCell(label);  
             //在第1行第2列写入数字
             jxl.write.Number number = new jxl.write.Number(1, 0, 123.456);  
      
       sheet.addCell(number);  
         
       book.write();  
       //关闭工作表      
       book.close();  
     } catch (Exception e) {  
         e.printStackTrace();  
   }   
 }
}

 

 

  • jxl.jar (708.7 KB)
  • 下载次数: 6
分享到:
评论

相关推荐

    springboot实现Excel文件导入与导出功能

    springboot实现Excel文件导入与导出功能, 本次任务主要实现两个功能,一是如何将Excel文件导入后台服务器,解析文件中的内容,并且存入数据库中。二是如何将后台数据库中的数据导出为Excel表格。经过调研,实现此...

    纯前端:luckysheet在线编辑Excel导出,Excel文件导入

    项目内容主要包括两个核心功能:在线编辑Excel和Excel文件导入导出。在线编辑部分,Luckysheet提供了丰富的API和配置选项,可以定制化地创建各种复杂的表格结构,包括单元格样式、行列操作、公式计算等。此外,它的...

    Excel文件导入导出

    以下是对"Excel文件导入导出"这一主题的详细解释: 一、Excel文件的导入 1. Python中的Pandas库:Python编程语言提供了Pandas库,它能够方便地读取和写入Excel文件。使用`pandas.read_excel()`函数可以将Excel文件...

    使用Springboot实现excel的导入导出

    在Spring Boot中实现Excel的导入导出可以通过POI库来实现,POI是一个开源的Java库,用于处理Microsoft Office格式文件,包括Excel。一个简单的示例,演示如何在Spring Boot项目中使用POI来实现Excel的导入导出功能。...

    WPF中对Excel文件的导入导出

    在WPF(Windows Presentation Foundation)应用开发中,与Excel文件的交互是常见的需求,比如导入数据到Excel,或者从Excel导出数据。本教程将详细讲解如何实现一个包含"导入"和"导出"功能的界面,并展示数据在一个...

    java Swing 导入导出Excel文件

    自定义的一个excel文件导入导出类,支持Excel2003到2010的格式。里面也有简单的配置文件的创建。

    Excel文件的导入导出

    "Excel文件的导入导出" Excel 文件的导入导出是指将 Excel 文件中的数据导入到 DataTable 中或将 DataTable 中的数据导出到 Excel 文件中。这个过程需要使用 OleDb 连接来读取 Excel 文件。 知识点:OleDb 连接 ...

    EXCEL数据导入与导出超级列表框例程

    在本例程中,VBA可能被用来控制数据的导入导出流程,更新超级列表框的内容,以及实现用户交互界面的响应。 5. **SanYe**:标签“SanYe”可能指的是一个开发人员或社区,他们可能专门研究或分享关于Excel VBA的技巧...

    C#实现Excel的导入与导出

    通过以上方法,开发者可以灵活地在C#应用中实现Excel的导入导出功能,无论是进行简单的数据交换,还是复杂的报表生成,都能满足需求。结合实际场景选择合适的方法,可以提升开发效率和用户体验。

    VC++excel文件导入和导出操作

    这就是使用VC++和MFC进行Excel文件导入和导出的基本步骤。需要注意的是,实际应用中可能还需要处理错误、异常以及内存管理等问题,确保程序的稳定性和健壮性。同时,为了提高性能,可以考虑使用多线程技术或者Excel...

    SpringBoot整合poi实现Excel文件的导入和导出.pdf

    在SpringBoot项目中,我们经常需要处理Excel文件的导入与导出功能,这在数据分析、数据交换等场景中尤其常见。Apache POI 是一个流行的Java库,它允许开发者读写Microsoft Office格式的文件,包括Excel。下面我们将...

    C# 导入Excel文件到ListView和导出ListView到Excel文件

    本主题将详细探讨如何使用C#实现从Excel文件导入数据到ListView控件,以及如何将ListView中的数据导出回Excel文件。这两个操作在数据分析、报表生成和数据管理等场景中非常常见。 首先,要导入Excel文件到ListView...

    易语言EXCEL数据导入导出

    易语言提供了与Microsoft Excel交互的API接口或库,如COM组件,允许程序员通过调用Excel对象模型的方法来操作Excel文件。在易语言中,我们可以创建Excel应用程序对象,打开工作簿,选择工作表,读取或写入单元格数据...

    易语言EXCEL数据导入与导出源码

    易语言EXCEL数据导入与导出源码是一个用于在易语言程序中实现Excel文件数据的读取和写入功能的代码资源。易语言是中国本土的一种编程语言,它以直观的汉字编程语法为特色,旨在降低编程门槛,让更多人能够参与到编程...

    Jsp中Excel文件的导入和导出方法集合

    以上就是JSP中Excel文件导入导出的基本步骤和关键知识点,通过这些知识,你可以实现从JSP页面上传Excel文件,读取数据进行处理,或导出数据到Excel供用户下载。同时,了解和熟练使用Apache POI库是进行此类操作的...

    MVC导入与导出excel文件

    在MVC架构下,处理导入和导出Excel文件是常见的需求,尤其在数据管理、报表生成以及数据交换场景中。下面我们将详细探讨如何在MVC应用中实现这个功能。 首先,导入Excel文件涉及到读取Excel数据并将其转化为可操作...

    导入导出Excel方法,很详细

    总结来说,导入导出Excel是数据处理的重要环节,涉及到对Excel文件的操作,包括读取、写入和格式设置。选择合适的库,创建有效的模板,以及使用预先封装好的工具类,都能帮助我们高效地完成这项任务。在实际项目中,...

    将Excel文件导入到数据库中或将数据库中文件导出Excel中

    以下将详细介绍如何将Excel文件导入到数据库中,以及如何将数据库中的数据导出到Excel中。 首先,将Excel文件导入数据库通常涉及到以下几个步骤: 1. 数据预处理:在Excel中整理数据,确保格式正确,无错误或缺失...

    易语言excel导出导入模块

    易语言提供的Excel导出导入模块,使得开发者可以方便地在程序中与Excel文件进行交互,这对于数据处理和报表生成等场景非常实用。 导出Excel文件通常涉及到以下几个关键知识点: 1. **创建工作簿**:在易语言中,...

    导入导出工具支持excel文件.rar

    "导入导出工具支持excel文件"这个主题涉及到了如何利用特定的工具或者编程语言来高效地处理Excel文件进行数据的导入和导出。以下是对这个主题的详细讲解: 1. Excel文件格式:Excel文件通常以.xlsx或.xls为扩展名,...

Global site tag (gtag.js) - Google Analytics