`

运用POI操作Excel表格实例

    博客分类:
  • POI
阅读更多

package com.topthinking.tel.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
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 com.topthinking.tel.javabean.LinkMan;

public class ReadExcel {
    public static void main(String[] args) throws IOException
    {
        read();        //讀取
        output();    //輸出
    }
    public static void read() throws FileNotFoundException, IOException{
        String fileToBeRead="f://135.xls";
        HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
        HSSFSheet sheet = workbook.getSheet("MyReport");
        int rows = sheet.getPhysicalNumberOfRows();
        System.out.println("測試共有行數:"+rows);
        for(short r = 0 ; r < rows ; r ++){
            System.out.println("這是第"+r+"行");
            HSSFRow row = sheet.getRow(r);  //獲取第r行
            if(row != null){
                int cellNum = row.getPhysicalNumberOfCells();
                System.out.println("該行有"+cellNum+"列");
                for(short t = 0 ; t < cellNum ; t ++){
                    HSSFCell cell = row.getCell(t);
                    String value ="";
                    switch (cell.getCellType())
                    {
                    case HSSFCell.CELL_TYPE_FORMULA :
                    //strCell = String.valueOf(aCell.getNumericCellValue());
                    //returnstr+=strCell+" ";
                    break;
                    case HSSFCell.CELL_TYPE_NUMERIC:
                    value += (long)cell.getNumericCellValue();
                    break;
                    case HSSFCell.CELL_TYPE_STRING:
                    value += cell.getStringCellValue();
                    break;
                    case HSSFCell.CELL_TYPE_BLANK://blank
                    //strCell = aCell.getStringCellValue();
                    //returnstr+=strCell+" ";
                    break;
                    default:
                    value ="" ;
                    }
                    System.out.println(value);
                }        
            }
        }
    }
    
    public static void output() throws IOException{
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("new sheet");
//      從表中建行号,从0开始计算:第一行
        HSSFRow row  = sheet.createRow((short)0);
//        给工作表前8列定义列宽
        sheet.setColumnWidth((short)0,(short)4000);
        sheet.setColumnWidth((short)1,(short)4000);
        sheet.setColumnWidth((short)2,(short)4000);
        sheet.setColumnWidth((short)3,(short)8000);
//      建立单元格數組
        HSSFCell cell[] = new HSSFCell[4];
//        給第一行建立(cell.length)個單元格。
        for(short t = 0 ; t < cell.length; t++){
            cell[t] = row.createCell((short)t);
            cell[t].setEncoding(HSSFCell.ENCODING_UTF_16);//設置編碼,爲了處理中文
        }
//        寫標題
        cell[0].setCellValue("連絡人");
        cell[1].setCellValue("聯絡人號碼");
        cell[2].setCellValue("28TEL號");
        cell[3].setCellValue("Email");
//        加入數據
        ArrayList al = new ArrayList();
        LinkMan lm1 = new LinkMan();
        lm1.setName("name1");
        lm1.setPhoneNum("349853u49");
        lm1.setTel28("34533452828");
        lm1.setEmail("xugang@126.com");
        LinkMan lm2 = new LinkMan();
        lm2.setName("name2");
        lm2.setPhoneNum("22222!349853u49");
        lm2.setTel28("22222!34533452828");
        lm2.setEmail("222221xugang@126.com");
        al.add(lm2);
        al.add(lm1);    
        for( short t = 0 ; t < al.size(); t ++){
            HSSFRow daterow   = sheet.createRow((short)t+1);
            HSSFCell datacell[] = new HSSFCell[4];
            for(short i = 0 ; i < cell.length; i++){
                datacell[i] = daterow.createCell((short)i);
                datacell[i].setEncoding(HSSFCell.ENCODING_UTF_16);//設置編碼,爲了處理中文
            }
            datacell[0].setCellValue( ((LinkMan)al.get(t)).getName() );
            datacell[1].setCellValue(   ((LinkMan)al.get(t)).getPhoneNum()  );
            datacell[2].setCellValue(  ((LinkMan)al.get(t)).getTel28()  );
            datacell[3].setCellValue(  ((LinkMan)al.get(t)).getEmail()  );
        }
        // 写入输出结果
        FileOutputStream out = new FileOutputStream("F:/111.xls");
        wb.write(out);
        out.close();
    }
    
    public void simple(){
      HSSFWorkbook wb = new HSSFWorkbook();
      HSSFSheet sheet = wb.createSheet("new sheet");
      //创建一个新的行,添加几个单元格。
      //行号从0开始计算
      HSSFRow row   = sheet.createRow((short)0);
      //创建一个单元格,设置单元格的值
      HSSFCell cell   = row.createCell((short)0);
      cell.setCellValue(1);            //第一個例子
      
      row.createCell((short)1).setCellValue(1.2);   //第2個例子
      
      HSSFCell cell1 =  row.createCell((short)2);  //第3個例子
      cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
      cell1.setCellValue("一个字符串值");
      
      row.createCell((short)3).setCellValue(true);//第4個例子
    }
}

分享到:
评论

相关推荐

    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格式...

    POI教程详解 操作Excel实例下载

    在Java环境中,POI提供了一种强大的API,允许开发者读取、写入和修改Excel电子表格。本教程将带你深入理解如何使用POI进行Excel操作。 一、POI简介 Apache POI是Apache软件基金会的一个项目,它提供了API,使得...

    poi操作Excel表格基本操作

    本文将深入探讨如何使用POI库中的XSSFWorkbook类进行Excel表格的基本操作。 一、XSSFWorkbook简介 XSSFWorkbook是Apache POI库中处理.xlsx(Excel 2007及以上版本)文件的核心类。它基于OOXML(Office Open XML)...

    POI操作Excel的封装

    4. **对象映射**:设计一个接口或注解,让Java对象能自动与Excel表格对应,例如`@ExcelColumn`注解标记字段,指定列名和位置。 5. **数据验证**:添加数据校验功能,确保读取的数据符合预设规则。 6. **批处理操作...

    java的poi读写excel项目实例

    在这个“java的poi读写excel项目实例”中,我们有两个主要的Java类:`read.java`和`write.java`,分别用于处理Excel文件的读取和写入操作。 首先,让我们深入了解一下`read.java`。这个类通常会包含一个方法,比如`...

    Apache poi 导出excel实例

    这篇博客文章“Apache POI 导出excel实例”将深入探讨如何使用Apache POI库来生成Excel文件,这对于在Java环境中处理大量数据并需要导出为Excel格式的应用非常有用。 首先,我们需要导入Apache POI库到我们的项目中...

    POI读取excel的内容.zip

    在`readExcel()`方法中,我们首先创建一个`FileInputStream`实例来读取指定路径的Excel文件,然后通过`XSSFWorkbook`创建一个工作簿对象。`getSheetAt(0)`获取第一个工作表,`getRowNum()`和`getLastRowNum()`分别...

    poi操作word表格

    在本主题中,我们将聚焦于如何使用Apache POI来操作Word文档中的表格。 在Word文档中,表格是一种常用的数据展示和组织方式。使用Apache POI,我们可以创建、修改、读取和格式化Word文档中的表格。以下是一些关键...

    poi apache-poi导入实例 导入excel表格数据

    本实例主要关注如何使用Apache POI来导入Excel表格数据。 在Java编程中,当你需要处理Excel文件时,Apache POI库提供了HSSF(Horrible Spreadsheet Format)和XSSF(XML Spreadsheet Format)两个主要组件,分别...

    poi操作word和excel实例

    ### POI操作Word和Excel实例详解 #### 一、POI简介 Apache POI是一个流行的Java库,用于处理Microsoft Office格式文件,特别是Excel (.xls, .xlsx) 和 Word (.doc, .docx) 文件。它提供了强大的API来读取、创建、...

    java导出Excel表格实例

    在本文档中,我们将详细介绍如何使用Java编写程序,将数据库中的数据以Excel表格的形式导出。这是通过操作Excel文件对象模型以及Java的数据库操作技术实现的。为了更好地理解本文所包含的知识点,需要掌握Java语言...

    java 操作excel表格经典例子

    ### Java操作Excel表格经典案例分析 #### 一、引言 在日常办公环境中,Microsoft Office套件中的Excel因其强大的数据处理能力而被广泛使用。在Java编程领域,开发者经常需要处理Excel文件,如批量导入导出数据、...

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

    1. 加载Excel文件:使用`WorkbookFactory.create()`方法创建一个`Workbook`实例。 2. 获取工作表:通过`Workbook`对象的`getSheetAt()`或`createSheet()`方法获取或创建工作表。 3. 遍历行和单元格:使用`Sheet`对象...

    easy-poi导入导出excel实例

    本文将深入探讨如何使用Easy-Poi进行Excel操作,并基于提供的jar包及示例代码进行实践解析。 首先,我们需要理解Easy-Poi的核心概念。Easy-Poi是由阿里云团队开发的一款基于Apache POI的Java工具,它主要为了解决...

    poi excel转换成bean

    在本场景中,我们将Excel表格中的每一行数据映射为一个Java Bean实例。 Apache POI 提供了HSSF和XSSF两个API来分别处理旧版的.BIFF8格式(Excel 97-2007)和较新的XML格式(Excel 2007及以上)。通过这些API,我们...

    POI操作Excel文档,帮助文档

    ### POI操作Excel文档知识点详解 #### 一、POI简介 Apache POI 是 Apache 软件基金会的开源项目之一,它主要提供了一系列用于处理 Microsoft Office 文档的 Java API。POI 支持多种 Office 文件格式,其中较为成熟...

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

    总的来说,使用Apache POI在Android中生成Word和Excel文档涉及了多个步骤,包括数据读取、文件操作、文档结构构建以及格式化。这个过程需要对XML、Java I/O、Android文件系统权限管理和POI API有深入理解。开发者...

    Java poi操作表格

    在Java世界中,如果你需要读取、创建或修改Excel电子表格,Java POI就是不可或缺的工具。这个库使得开发者能够以编程方式与Excel文件进行交互,无需依赖于Microsoft Office本身。 **一、Java POI基本概念** 1. **...

Global site tag (gtag.js) - Google Analytics