`
Hillen.chan
  • 浏览: 62620 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java读取和写入excel

阅读更多
需jxl.jar包
package com.dheaven.mip.item;

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

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

import jxl.format.UnderlineStyle;
import jxl.write.DateFormat;
import jxl.write.DateTime;

import jxl.write.Boolean;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.NumberFormat;
import jxl.write.WritableCell;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableImage;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;


public class excelDemo {

	/**
	 * Description: 读取excel文件内容
	 * 	
	 * Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。
       读取Excel数据表的第一步是创建Workbook(术语:工作薄),下面的代码片段举例说明了应该如何操作:
       一旦创建了Workbook,我们就可以通过它来访问Excel Sheet(术语:工作表)。
       在得到Cell对象后,通过getType()方法可以获得该单元格的类型,然后与API提供的基本类型相匹配,强制转换成相应的类型,
       最后调用相应的取值方法getXXX(),就可以得到确定类型的值。
	 */
	public static void readexcel(){
		Workbook rwb = null;
		   try{
		        InputStream is=new FileInputStream("D:/testWrite.xls");
		        //Workbook rwb = Workbook.getWorkbook(new File(sourcefile)); 
		        //Sheet[] sheets = rwb.getSheets();返回工作薄(Workbook)中工作表(Sheet)对象数组
		        //声名一个工作薄
		         rwb= Workbook.getWorkbook(is);
		        //获得工作薄的个数
		         rwb.getNumberOfSheets();
		        //既可能通过Sheet的名称来访问它,也可以通过下标来访问它。如果通过下标来访问的话,要注意的一点是下标从0开始,就像数组一样。
		        Sheet st = rwb.getSheet(0);
		        //获取某一列的所有单元格,返回的是单元格对象数组
		        //Cell[] cell = rs.getColumn(0); 
		        int rows=st.getRows();
		        int cols=st.getColumns();
		        System.out.println("当前工作表的名字:"+st.getName());
		        System.out.println("总行数:"+rows);
		        System.out.println("总列数:"+cols);
		        //通用的获取cell值的方式,getCell(int column, int row) 列和行,都从0开始
			    for(int i=0;i<rows;i++){
			    	for(int j=0;j<cols;j++){
				        Cell c1=st.getCell(j,i);
				        System.out.println(" 内容:"+c1.getContents());
			    	}
			    }
		    }
		    catch(Exception e)
		    {
		        e.printStackTrace();
		        System.out.println("出错了");
		    }finally{
		      rwb.close();
		    }
	}

	/**
	 * Description: 写入excel文件
	 * 
	 */
	public static void writerexcel(){
		try   
		{   
			/**  
			* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,  
			* 因为类WritableWorkbook的构造函数为protected类型  
			* method(1)直接从目标文件中读取WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile));  
			* method(2)如下实例所示 将WritableWorkbook直接写入到输出流  
			 
			*/   
			File fileWrite = new File("D:/testWrite.xls");   
			fileWrite.createNewFile();   
			OutputStream os = new FileOutputStream(fileWrite);  
			WritableWorkbook wwb = Workbook.createWorkbook(os);   
			//创建Excel工作表 指定名称和位置   
			WritableSheet ws = wwb.createSheet("数据表",0);   
			//**************往工作表中添加数据*****************   
			  
			//1.添加Label(列,行,内容)对象   .列,行----都从0开始
			Label label = new Label(0,0,"1-1");   
			ws.addCell(label);  
			
	
			//添加带有字型Formatting对象   
			WritableFont wf = new WritableFont(WritableFont.TIMES,12,WritableFont.BOLD,true);   
			WritableCellFormat wcf = new WritableCellFormat(wf);   
			Label labelcf = new Label(1,1,"陪儿棒",wcf);   
			ws.addCell(labelcf);   
			  
			//添加带有字体颜色的Formatting对象   
			WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,   
			UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);   
			WritableCellFormat wcfFC = new WritableCellFormat(wfc);   
			Label labelCF = new Label(2,2,"可好了!",wcfFC);   
			ws.addCell(labelCF);   
			
			//2.添加Number对象   
			Number labelN = new Number(0,3,520);   
			ws.addCell((WritableCell) labelN);   
			
			//添加带有formatting的Number对象   
			NumberFormat nf = new NumberFormat("#.##");   
			WritableCellFormat wcfN = new WritableCellFormat(nf);   
			Number labelNF = new Number(1,5,3.1415926,wcfN);   
			ws.addCell(labelNF);   
			  
			//3.添加Boolean对象   
			Boolean labelB = new jxl.write.Boolean(0,6,false);   
			ws.addCell(labelB);  
			//4.添加DateTime对象   
			jxl.write.DateTime labelDT = new jxl.write.DateTime(0,2,new java.util.Date());   
			ws.addCell(labelDT);   
			  
			//添加带有formatting的DateFormat对象   
			DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");   
			WritableCellFormat wcfDF = new WritableCellFormat(df);   
			DateTime labelDTF = new DateTime(1,4,new java.util.Date(),wcfDF);   
			ws.addCell(labelDTF);   
			  
			  
			//添加图片对象,jxl只支持png格式图片   WritableImage(列,行,宽,高,image);
			File image = new File("D:\\images.png");   
			WritableImage wimage = new WritableImage(0,1,2,2,image);   
			ws.addImage(wimage);   
			
			//写入工作表   
			wwb.write();   
			wwb.close(); 

		}   
		catch(Exception e)   
		{   
		e.printStackTrace();   
		} 
	}
	
	
	public static void main(String[] args) {
		//写入excel
		writerexcel();
		
		//读取excel
		readexcel();
		
   }
}

分享到:
评论

相关推荐

    医疗数据,用来java读取和写入excel用

    医疗数据,用来java读取和写入excel用 医疗数据,用来java读取和写入excel用

    java 读取excel写入值

    Java 读取Excel写入值是一项...这就是使用jxl库在Java中读取和写入Excel的基本步骤。当然,jxl库还支持更复杂的操作,如格式化单元格、合并单元格、处理公式等。在实际应用中,可以根据需求进一步探索这些高级功能。

    java读取写入2007版excel所用的包

    3. **写入Excel文件**: 创建新的Excel文件,你需要先创建一个XSSFWorkbook实例,然后添加新的Sheet,接着在Sheet上创建Row和Cell并设置值。最后,你需要通过FileOutputStream将Workbook写入文件。 ```java ...

    用Java 控制 Excel 的写入读取

    Java 读取 Excel 写入 Excel

    Java 读取写入Excel 方便好用

    本文将深入探讨如何利用Java方便地读取和写入Excel文件,主要关注JExcelAPI这一库的使用。 首先,我们需要了解JExcelAPI,这是一个开源的Java库,它允许开发者直接操作Excel文件,而无需使用Microsoft Office或者...

    java 操作 读取 写入 excel POI

    写入Excel文件的过程则相对简单。下面是一个创建新Excel文件并写入数据的例子: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io....

    java读取写入excel操作

    3. 写入Excel文件: 创建一个新的`Workbook`对象,然后添加新的`Sheet`,并写入数据: ```java WritableWorkbook newWorkbook = Workbook.createWorkbook(new File("output.xls")); WritableSheet newSheet = ...

    完美解决java读取excel内存溢出问题.rar

    总结来说,解决Java读取Excel内存溢出问题,关键在于合理利用资源、优化代码逻辑以及选择适合的API,如Apache POI的SXSSF。通过这些方法,我们可以在不显著增加系统资源负担的情况下,高效地处理大Excel文件。

    java上传并读取excel工具类

    对于写入Excel,我们需要创建`Row`和`Cell`,然后设置值: ```java Row newRow = sheet.createRow(rowIndex); Cell newCell = newRow.createCell(cellIndex); newCell.setCellValue("新值"); ``` 6. **关闭...

    java读取excel及导出excel文件

    这里,我们将详细探讨如何使用Java来读取和导出Excel文件,主要涉及的技术包括Apache POI库和其他相关API的使用。 首先,Apache POI是一个流行的开源Java API,它允许开发人员创建、修改和显示Microsoft Office格式...

    java写入excel

    Java读取Excel文件可以使用Apache的POI(Poor Obfuscation Implementation)库,POI是一个开源的Java库,用于读取和写入Excel文件。POI支持Excel03和Excel07两种版本,当前最新的版本是3.8。 使用POI读取Excel文件...

    java中读取Excel例子

    本文将深入探讨如何使用Java来读取和写入Excel文件,以"java中读取Excel例子"为例,结合提供的文件"ExcellWriter.java",我们将详细讲解这个过程。 首先,Java中读取和写入Excel文件通常使用Apache POI库。Apache ...

    Jxl和poi读取写入excel

    Jxl是Java Excel API的简称,它是一个轻量级的库,专门用于读取和写入Excel文件。Jxl支持.xls格式,但不支持.xlsx格式。使用Jxl读取Excel文件的基本步骤如下: 1. 引入Jxl库:在项目中添加jxl.jar依赖。 2. 创建...

    Java用POI API实现对Excel表的读取与写入,包含对数据库的读写,亲测有效

    1、POI_EXCEL包下分别有两个类,一个是读取excel内容,一个是想excel写入内容 2、cn.itcast包下的所有包,是为了实现从excel写入到数据库中,和从数据库写入到excel中 注意事项: 1、需要导入maven工程 2、使用...

    java读取excel文件

    2. Excel 文件操作:Excel 文件操作是指使用 Java 语言对 Excel 文件进行读取、写入、删除等操作的过程。 3. JXL 库:JXL 库是指 Java Excel API,即 Java 语言对 Excel 文件的操作 API。 4. Workbook:Workbook 是...

    java读取和导出excel

    在Java编程环境中,处理Excel文件是一项常见的任务,无论是读取现有数据还是生成新的报表。Java提供了多种库来方便开发者操作Excel文件,其中最常用的是Apache POI和JExcelAPI。本篇文章将主要聚焦于使用Apache POI...

    Unity读取和写入Excel表格所需dll

    为了在Unity中读取和写入Excel表格,通常需要引入一些外部库,如标题所提及的Excel.dll、ICSharpCode.SharpZipLib.dll和EPPlus.dll。下面将详细讲解这三个库的作用及其在Unity中的应用。 1. Excel.dll: 这是一个...

    java读取excel之xlsl超大文件

    标题"java读取excel之xlsl超大文件"所涉及的核心知识点是优化大量数据的读取策略。在Java中,可以使用Apache POI的SXSSF API(Streaming Usermodel API)来实现这种优化。与常规的XSSF API不同,SXSSF允许我们以流的...

Global site tag (gtag.js) - Google Analytics