`

简单的java读写excel

    博客分类:
  • jxl
阅读更多
首先是读Excel:
package August;

import java.io.File;

import jxl.Cell;
import jxl.CellType;
import jxl.DateCell;
import jxl.NumberCell;
import jxl.Sheet;
import jxl.Workbook;

public class ReadExcel {
	public static void main(String[] args) {
		Workbook workbook = null;

		try {
		   workbook = Workbook.getWorkbook(new File("d:\\readExcel.xls"));
		} catch (Exception e) {
		  e.printStackTrace();
		}

		Sheet sheet = workbook.getSheet(0);
		Cell cell = null;

		int columnCount=4;//代表列
		int rowCount=sheet.getRows();//得到列有多少行
		for (int i = 0; i <rowCount; i++) {
		   for (int j = 0; j <columnCount; j++) {
		       //注意,这里的两个参数,第一个是表示列的,第二才表示行
		       cell=sheet.getCell(j, i);
		       //要根据单元格的类型分别做处理,否则格式化过的内容可能会不正确
		       if(cell.getType()==CellType.NUMBER){
		           System.out.print(((NumberCell)cell).getValue());
		       }
		       else if(cell.getType()==CellType.DATE){
		           System.out.print(((DateCell)cell).getDate());
		       }
		       else{
		           System.out.print(cell.getContents());
		       }
		       
		       //System.out.print(cell.getContents());
		       System.out.print("\t");
		   }
		   System.out.print("\n");
		}
		//关闭它,否则会有内存泄露
		workbook.close();

	}
}

然后是写Excel:
package August;

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

import jxl.Workbook;
import jxl.format.UnderlineStyle;
import jxl.write.DateFormat;
import jxl.write.DateTime;
import jxl.write.Label;
import jxl.write.NumberFormat;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class WriteExcel {
	public static void main(String[] args) {
		File tempFile=new File("d:/writeExcel.xls");
		WritableWorkbook workbook = null;
		try {
			workbook = Workbook.createWorkbook(tempFile);
		} catch (IOException e) {
			e.printStackTrace();
		}
		WritableSheet sheet = workbook.createSheet("TestCreateExcel", 0); 

		//一些临时变量,用于写到excel中
		Label l=null;
		jxl.write.Number n=null;
		DateTime d=null;

		//预定义的一些字体和格式,同一个Excel中最好不要有太多格式
		WritableFont headerFont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false,UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLUE); 
		WritableCellFormat headerFormat = new WritableCellFormat (headerFont); 

		WritableFont titleFont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED); 
		WritableCellFormat titleFormat = new WritableCellFormat (titleFont); 

		WritableFont detFont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK); 
		WritableCellFormat detFormat = new WritableCellFormat (detFont); 

		NumberFormat nf=new NumberFormat("0.00000");  //用于Number的格式
		WritableCellFormat priceFormat = new WritableCellFormat (detFont, nf); 

		DateFormat df=new DateFormat("yyyy-MM-dd");//用于日期的
		WritableCellFormat dateFormat = new WritableCellFormat (detFont, df); 

		//剩下的事情,就是用上面的内容和格式创建一些单元格,再加到sheet中
		l=new Label(1, 0, "用于测试的Excel文件", headerFormat);
		try{
			
		sheet.addCell(l);

		//add Title
		int column=0;
		l=new Label(column++, 2, "标题", titleFormat);
		sheet.addCell(l);
		l=new Label(column++, 2, "日期", titleFormat);
		sheet.addCell(l);
		l=new Label(column++, 2, "货币", titleFormat);
		sheet.addCell(l);
		l=new Label(column++, 2, "价格", titleFormat);
		sheet.addCell(l);

		//add detail
		int i=0;
		column=0;
		l=new Label(column++, i+3, "标题 "+i, detFormat);
		sheet.addCell(l);
		d=new DateTime(column++, i+3, new java.util.Date(), dateFormat);
		sheet.addCell(d);
		l=new Label(column++, i+3, "CNY", detFormat);
		sheet.addCell(l);
		n=new jxl.write.Number(column++, i+3, 5.678, priceFormat);
		sheet.addCell(n);

		i++;
		column=0;
		l=new Label(column++, i+3, "标题 "+i, detFormat);
		sheet.addCell(l);
		d=new DateTime(column++, i+3, new java.util.Date(), dateFormat);
		sheet.addCell(d);
		l=new Label(column++, i+3, "SGD", detFormat);
		sheet.addCell(l);
		n=new jxl.write.Number(column++, i+3, 98832, priceFormat);
		sheet.addCell(n);

		//设置列的宽度
		column=0;
		sheet.setColumnView(column++, 20);
		sheet.setColumnView(column++, 20);
		sheet.setColumnView(column++, 10);
		sheet.setColumnView(column++, 20);

		workbook.write();
		workbook.close();
		}catch(Exception e) {
			
		}

	}
}


以上代码必须导入jxl.jar包。
分享到:
评论

相关推荐

    Java读取Excel内容

    Java读取Excel内容 v Java读取Excel内容 Java读取Excel内容

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

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

    java读取excel数据导入数据库源码

    java读取excel数据导入数据库源码 java读取excel数据导入数据库源码

    JAVA读取Excel,建库建表,并生成java实体

    总结,Java读取Excel并进行数据库建库建表及生成Java实体的过程涉及了Apache POI库的使用、数据库操作和源代码生成。理解这些步骤可以帮助你有效地处理类似的任务,提高开发效率。在实际应用中,你还需要考虑错误...

    java读写Excel,POI.JAR,Word内容读取

    java读写Excel,POI.JAR,Word内容读取

    Java读取Excel表格中的日期

    ### Java读取Excel表格中的日期 #### 背景与问题描述 在处理Excel文件时,经常遇到的一个问题是如何正确地识别并处理日期格式的数据。这是因为Excel中的日期格式较为复杂,有时甚至会出现不同版本的Excel文件中...

    java读写excel包括utf8转码为可识别汉字gbk

    java读写excel包括utf8转码为可识别汉字gbk,jxl方式读取excel,生成一个新的excel

    java读取excel简单例子

    在这个简单的例子中,我们将探讨如何使用jxl.jar来读取Excel数据,这对于初学者来说是一个很好的起点。 首先,你需要将jxl.jar添加到你的项目类路径中,以便能够使用它的API。这可以通过在你的构建系统(如Maven或...

    java读取excel文件

    Java 读取 Excel 文件 Java 读取 Excel 文件是指使用 Java 语言从 Excel 文件中读取数据,并对其进行处理的过程。下面将详细介绍 Java 读取 Excel 文件的过程和相关知识点。 Java 读取 Excel 文件的步骤 1. 导入...

    java读取excel文件生成矩阵

    在Java编程中,读取Excel文件并生成矩阵是一项常见的任务,尤其在数据分析、报表处理或者数据导入导出的场景下。Excel文件通常用于存储结构化的表格数据,而矩阵则是一种有效的数据表示方式,便于计算和分析。下面...

    java读取excel

    "Java 读取 Excel 文件" Java 读取 Excel 文件是 Java 语言中常见的操作之一,通过使用 Apache POI 库,可以轻松地读取 Excel 文件中的数据。本文将通过 ReadExcelUtil 工具类,详细介绍如何读取 Excel 文件。 ...

    java读取excel数据!

    在Java编程环境中,读取Excel数据是一项常见的任务,特别是在数据处理、数据分析或系统集成的场景中。本示例中,我们关注的是如何使用Java来读取Excel表格中的数据,并将其保存,这通常涉及到Apache POI库的应用。...

    java 读取Excel文件中的内容

    在Java编程中,读取Excel文件的内容是一项常见的任务,尤其在数据处理、报表生成或数据分析等领域。Excel文件通常包含表格数据,而Java提供多种库来处理这类任务,比如Apache POI、JExcelApi和OpenCSV等。本篇将重点...

    java 读写Excel组件

    JExcelAPI是另一个用于读写Excel的Java库,虽然不如Apache POI流行,但它的API更简单,适合小型项目或快速原型开发。 1. **读取Excel文件** 使用JExcelAPI读取Excel文件,同样需要`FileInputStream`,但创建`...

    java读写excel文件

    **读取Excel文件** 读取Excel文件的基本步骤如下: 1. 引入Apache POI依赖:在项目中添加Apache POI的JAR文件或对应的Maven/Gradle依赖。 2. 创建Workbook对象:使用`WorkbookFactory.create(InputStream)`方法...

    ExcelDemo_Excel导出_下载_POI读excel_JXL读写excel_java读写excel_列宽_读取合并或拆分单元格内容

    以下是一个简单的POI读取Excel文件的例子: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java.io.FileInputStream; import ...

    java 读取excel表格数据 poi

    java读取excel 表格数据。 public static void main(String[] args) { String[][] content=POIExcelUtils.read("E:\\1.xlsx"); for(int i=0;i;i++) { if(content[i]!=null){ for(int j=0;j[i].length;j...

    Java读写文件(excel)

    Java读写文件-Excel

    java 读取excel内容 创建excel 插入文字及图片

    读取Excel内容主要涉及`XSSFWorkbook`和` XSSFSheet `类。以下是一个简单的示例,展示了如何打开Excel文件并读取第一行数据: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf....

Global site tag (gtag.js) - Google Analytics