`
w327569056w
  • 浏览: 1240 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

最近看了点java对excel表的操作,没事写了个例子练习了一下

阅读更多
在这个例子中我使用了一个开源的插件jxl。
初次使用,还有很多不足之处,恳请大家的指教。代码如下:

/**
*
*/
package cn.wyh.IO;

import java.io.File;

/**
* @author Administrator
*
*/
public interface JavaExcelIo {
/**
* @param fileName 要生成的文件名称与位置
*
*/
public void writeExcel(String fileName);
/**
* @param file 要读入的文件名称与位置
* @return
*/
public String readExcel(File file);
}

/**
*
*/
package cn.wyh.tool;

import java.io.File;
import java.io.IOException;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

import cn.wyh.IO.JavaExcelIo;

/**
* @author 王亚辉
*
*/
public class JavaExcelImp implements JavaExcelIo{


@Override
public String readExcel(File file) {
//读取excel文件,文件名称为file
StringBuffer sb = new StringBuffer();

Workbook wb = null;
try {
wb = Workbook.getWorkbook(file);  //创建一个工作薄
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

if(wb==null)
return null;

Sheet[] sheets = wb.getSheets();

if(sheets!=null&&sheets.length>0){
Sheet rs = wb.getSheet(0);   //创建一张sheet表
for(int row=0;row<rs.getRows();row++){
//row代表sheet(0)表中的总行数
for(int column=0;column<rs.getColumns();column++){
//column代表sheet(0)表中的总列说
Cell cell = rs.getCell(column,row);
String str = cell.getContents();
System.out.println("第"+(row+1)+"行,第"+(column+1)+"列:"+str.toString());
sb.append(str+"\t");
}
sb.append("\r\n");
}
sb.append("\r\n");
}

wb.close();
return sb.toString();
}


@Override
public void writeExcel(String fileName) {
//创建一个新的文件并写入,fileName为文件存放位置和名称
WritableWorkbook wwb = null;

try{
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb = Workbook.createWorkbook(new File(fileName));
}catch(IOException e){
e.printStackTrace();
}

if(wwb!=null){
//创建一个可写入的工作表
//Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("sheet1", 0);

//开始添加表格
for(int i=0;i<10;i++){
for(int j=0;j<5;j++){
//在Excel表中,第一个参数表示列,第二个参数表示行
Label labelC = new Label(j, i, "这是第"+(i+1)+"行,第"+(j+1)+"列");
try{
//将生成的单元格添加的工作表
ws.addCell(labelC);
}catch(RowsExceededException e){
e.printStackTrace();
}catch(WriteException e){
e.printStackTrace();
}
}
}
try{
//从内存中写入文件中
wwb.write();
//关闭资源,释放内存
wwb.close();
}catch(IOException e){
e.printStackTrace();
}catch (WriteException e) {
e.printStackTrace();
}
}
}

}

package test.cn.wyh.tool;


import java.io.File;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import cn.wyh.tool.JavaExcelImp;

public class JavaExcelImpTest {

@Before
public void setUp() throws Exception {
}

@After
public void tearDown() throws Exception {
}

@Test
public void testWriteExcel(){
String fileName = "E:/wyh.xls";
JavaExcelImp jei = new JavaExcelImp();
jei.writeExcel(fileName);
}

@Test
public void testReadExcel(){
String fileName = "E:/wyh.xls";
JavaExcelImp jei = new JavaExcelImp();
System.out.println(jei.readExcel(new File(fileName)));
}

}
分享到:
评论

相关推荐

    java poi操作excel小例子

    Java POI 操作 Excel 是一个常见的任务,在许多业务场景中都需要用到,比如数据导入导出、数据分析等。Apache POI 是一个流行的开源库,它允许开发者使用 Java 来读写 Microsoft Office 格式的文件,其中包括 Excel ...

    java poi处理excel数据

    Java POI是Apache软件基金会下的一个开源项目,主要用于读写Microsoft Office格式的文件,特别是Excel。在Java开发中,当你需要处理Excel数据时,POI库是一个强大的工具。本压缩包包含了一些关键资源,帮助你理解和...

    word源码java-practice:这个项目是记录自己平常的一些练习

    根据链接得到股票数据,多个线程同时运行获取股票数据,获取到一定量后再写入文件中(做这个的目的,主要是为了看看当获取到数据很多时候,应该怎么处理文件和用这个文件来做一些大数据查找相关题目的练习) 练习4 ...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

     《Java开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第II卷,以开发...

    NIt培训例子让你得到训练和学习,主要关于计算机技能鉴定NIT培训例子的列举以及对你自己的训练,有很大的效果,下载尝试使用

    通过实际操作这些例子,你可以获得实践性的训练,加深对理论知识的理解,并提高问题解决能力。 在“主要关于计算机技能鉴定NIT培训例子的列举”这一标签中,我们可以推断出,压缩包内的文件可能涵盖了以下几个方面...

    at7_ex08.rar

    在IT行业中,我们可能会遇到各种类型的练习文件,它们可能涵盖编程语言(如Python、Java、C++)、数据库管理、网络配置、数据分析、操作系统管理等多个方面。例如,如果这是一个编程练习,"at7_ex08"可能是一个包含...

    2014第二节 海水“晒盐”培优练习题及答案解析精选.doc

    1. 数据处理:在处理实验数据时,类似于调节Word文档观看比例的操作,IT行业中我们经常需要对大量数据进行管理和分析,例如使用Excel或专门的数据分析工具进行数据清洗、排序、过滤和可视化。 2. 程序设计:编程...

    2021-2022计算机二级等级考试试题及答案No.3275.docx

    根据提供的文档内容,我们可以归纳总结出以下几个重要的知识点: ### 1. E-R图与关系模型的转换 **知识点概述:** - **实体与联系的表示:** 在将E-R图转换为关系模型时,实体与联系都可以表示为关系(选项B)。这...

    中国电子学会青少年软件编程等级考试标准python一级优质word练习.pdf

    【Python编程基础与考试知识点】 1. **变量命名规则**:Python中变量的命名必须以字母或下划线开头,后面可跟字母、数字或下划线,且区分大小写。不能以数字开头。 2. **关系表达式**:Python中的关系表达式包括...

    PDI-tutorials

    加载 Excel 文件,保存到另外一个 Excel 文件和数据库表Table_2中。 Tutorials_3 加载 Json 文件,保存到另外一个 Json 文件和数据库表Table_2中。 Tutorials_4 REST接口的访问:通过访问新浪热刺接口,将热点新闻...

    MATLAB7.0从入门到精通课后习题及例子

    本资源“MATLAB7.0从入门到精通课后习题及例子”旨在帮助初学者系统学习并掌握MATLAB 7.0的基本操作和高级功能,通过实例和习题来提升实际应用能力。 1. **MATLAB基础知识** - **启动与界面**:了解如何启动MATLAB...

    2021-2022计算机二级等级考试试题及答案No.47.docx

    这些知识点涵盖了计算机二级等级考试中涉及的数据库设计、文本处理软件(如Word)、数据库操作、编程语言(如Java、VFP)基础、操作系统、网络技术和数据结构等方面的内容。考生在准备此类考试时,应全面掌握这些...

    Python核心编程第二版

     3.1.5 同一行书写多个语句(;)   3.1.6 模块   3.2 变量赋值   3.2.1 赋值操作符   3.2.2 增量赋值   3.2.3 多重赋值   3.2.4 “多元”赋值   3.3 标识符   3.3.1 合法的Python标识符 ...

Global site tag (gtag.js) - Google Analytics