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表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...
本教程将详细讲解如何使用Apache POI在Web环境中导出Excel表格,避免生成不必要的临时文件,从而优化系统资源管理。 一、Apache POI简介 Apache POI 是一个开源项目,它提供了Java API来处理Microsoft的Office格式...
在Java环境中,POI提供了一种强大的API,允许开发者读取、写入和修改Excel电子表格。本教程将带你深入理解如何使用POI进行Excel操作。 一、POI简介 Apache POI是Apache软件基金会的一个项目,它提供了API,使得...
本文将深入探讨如何使用POI库中的XSSFWorkbook类进行Excel表格的基本操作。 一、XSSFWorkbook简介 XSSFWorkbook是Apache POI库中处理.xlsx(Excel 2007及以上版本)文件的核心类。它基于OOXML(Office Open XML)...
4. **对象映射**:设计一个接口或注解,让Java对象能自动与Excel表格对应,例如`@ExcelColumn`注解标记字段,指定列名和位置。 5. **数据验证**:添加数据校验功能,确保读取的数据符合预设规则。 6. **批处理操作...
在这个“java的poi读写excel项目实例”中,我们有两个主要的Java类:`read.java`和`write.java`,分别用于处理Excel文件的读取和写入操作。 首先,让我们深入了解一下`read.java`。这个类通常会包含一个方法,比如`...
这篇博客文章“Apache POI 导出excel实例”将深入探讨如何使用Apache POI库来生成Excel文件,这对于在Java环境中处理大量数据并需要导出为Excel格式的应用非常有用。 首先,我们需要导入Apache POI库到我们的项目中...
在`readExcel()`方法中,我们首先创建一个`FileInputStream`实例来读取指定路径的Excel文件,然后通过`XSSFWorkbook`创建一个工作簿对象。`getSheetAt(0)`获取第一个工作表,`getRowNum()`和`getLastRowNum()`分别...
在本主题中,我们将聚焦于如何使用Apache POI来操作Word文档中的表格。 在Word文档中,表格是一种常用的数据展示和组织方式。使用Apache POI,我们可以创建、修改、读取和格式化Word文档中的表格。以下是一些关键...
本实例主要关注如何使用Apache POI来导入Excel表格数据。 在Java编程中,当你需要处理Excel文件时,Apache POI库提供了HSSF(Horrible Spreadsheet Format)和XSSF(XML Spreadsheet Format)两个主要组件,分别...
### POI操作Word和Excel实例详解 #### 一、POI简介 Apache POI是一个流行的Java库,用于处理Microsoft Office格式文件,特别是Excel (.xls, .xlsx) 和 Word (.doc, .docx) 文件。它提供了强大的API来读取、创建、...
在本文档中,我们将详细介绍如何使用Java编写程序,将数据库中的数据以Excel表格的形式导出。这是通过操作Excel文件对象模型以及Java的数据库操作技术实现的。为了更好地理解本文所包含的知识点,需要掌握Java语言...
### Java操作Excel表格经典案例分析 #### 一、引言 在日常办公环境中,Microsoft Office套件中的Excel因其强大的数据处理能力而被广泛使用。在Java编程领域,开发者经常需要处理Excel文件,如批量导入导出数据、...
1. 加载Excel文件:使用`WorkbookFactory.create()`方法创建一个`Workbook`实例。 2. 获取工作表:通过`Workbook`对象的`getSheetAt()`或`createSheet()`方法获取或创建工作表。 3. 遍历行和单元格:使用`Sheet`对象...
本文将深入探讨如何使用Easy-Poi进行Excel操作,并基于提供的jar包及示例代码进行实践解析。 首先,我们需要理解Easy-Poi的核心概念。Easy-Poi是由阿里云团队开发的一款基于Apache POI的Java工具,它主要为了解决...
在本场景中,我们将Excel表格中的每一行数据映射为一个Java Bean实例。 Apache POI 提供了HSSF和XSSF两个API来分别处理旧版的.BIFF8格式(Excel 97-2007)和较新的XML格式(Excel 2007及以上)。通过这些API,我们...
### POI操作Excel文档知识点详解 #### 一、POI简介 Apache POI 是 Apache 软件基金会的开源项目之一,它主要提供了一系列用于处理 Microsoft Office 文档的 Java API。POI 支持多种 Office 文件格式,其中较为成熟...
总的来说,使用Apache POI在Android中生成Word和Excel文档涉及了多个步骤,包括数据读取、文件操作、文档结构构建以及格式化。这个过程需要对XML、Java I/O、Android文件系统权限管理和POI API有深入理解。开发者...
在Java世界中,如果你需要读取、创建或修改Excel电子表格,Java POI就是不可或缺的工具。这个库使得开发者能够以编程方式与Excel文件进行交互,无需依赖于Microsoft Office本身。 **一、Java POI基本概念** 1. **...