`
jiangduxi
  • 浏览: 456474 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java实现读取文件下所有的excel文件

 
阅读更多

   最近处理一个压缩包,里面有几百上千个excel文件。本来可以通过直接将所有excel合并至一个大excel文件,然后再导入至数据库。
   但是这样太麻烦了,于是写了两个类来处理一个类处理excel文件,一个类读取文件夹下的文件。
下面给出代码
解析excel类(包括读写更新操作)
public class ExcelFile
{
	
	/**
	 * read
	 * @param file
	 */
	public static void readExl(String file){
		try
		{
			Workbook book = Workbook.getWorkbook(new File(file));
			
			Sheet[] sheets = book.getSheets();
		
			for(int i=0; i < sheets.length;i++){
				 Sheet sheet = sheets[i];
				 System.out.println("Sheet"+i);
				 int col = sheet.getColumns();
				 int row = sheet.getRows();
				 
				 for( int r=0 ; r < row;r++){
						StringBuffer sb = new StringBuffer();
					  for (int c = 0; c < col; c++)
					{
						  Cell cell = sheet.getCell(c,r);
						  
						  String result = cell.getContents();
						  
						 sb.append(result).append("   ");
					}
					  
					 System.out.println(sb.toString());
				 }
			}
			book.close();
		}
		catch (Exception e)
		{
			System.out.println(e);
		}
		
	}
	
	
	/**
	 * Update
	 * @param file
	 */
	public static void updateExl(String file){
		try
		{
			Workbook wb = Workbook.getWorkbook(new File(file));
			WritableWorkbook book = Workbook.createWorkbook(new File(file),wb);
			
			//WritableSheet sheet = book.createSheet("second", 1);
			WritableSheet sheet = book.getSheet(0);
			Label label = new Label(0,0,"test data 2");
			sheet.addCell(label);
			book.write();
			book.close();
		}
		catch (Exception e)
		{
			System.out.println(e);
		}
		
	}
	
	public static void readExl(String file, int i){
		try
		{
			Workbook book = Workbook.getWorkbook(new File(file));
			Sheet sheet = book.getSheet(i);
			Cell cell = sheet.getCell(0,0);
			String result = cell.getContents();
			System.out.println(result);
			book.close();
			
		}
		catch (Exception e)
		{
			System.out.println(e);
		}
		
	}
	
	
	/**
	 * Create
	 * @param file
	 */
	public void createExl(String file){
	  try
	{
		WritableWorkbook book = Workbook.createWorkbook(new File(file));
		WritableSheet sheet = book.createSheet("first", 0);
		
		
		Label lable = new Label(0,0,"test");
		sheet.addCell(lable);
		
		Number number = new Number(1,0,123);
		sheet.addCell(number);
		book.write();
		book.close();
	}
	catch (Exception e)
	{
		e.printStackTrace();
	}
		
	}

}

还有个类就是读取文件夹下的文件包括(读取和删除)
public class ReadFile
{
	/**
	 * Delete
	 * @param path
	 * @return
	 * @throws FileNotFoundException
	 * @throws IOException
	 */
	public static boolean deleteFile(String path) throws FileNotFoundException,IOException{
		try
		{
			File file = new File(path);
			if (!file.isDirectory())
			{
				file.delete();
			}else{
				 String filelist[] = file.list();
				 for(int i=0; i< filelist.length;i++){
					  File delfile = new File(path +"\\"+filelist[i]);
					  if(delfile.isDirectory()){
						  System.out.println("FileName:"+delfile.getName());
						  System.out.println("AbsolutePath:"+delfile.getAbsolutePath());
						  delfile.delete();
					  }else{
						  deleteFile(path+"\\"+filelist[i]);
					  }
				 }
				 file.delete();
			}
		}
		catch (Exception e)
		{
			System.out.println("deletFile() Exception:"+e.getMessage());
		}
		return true;
	}
	
	
	
	/**
	 * Read
	 * @param path
	 * @return
	 * @throws FileNotFoundException
	 * @throws IOException
	 */
	public static boolean readFile(String path) throws FileNotFoundException,IOException{
		try
		{
			File file = new File(path);
			if (!file.isDirectory())
			{
			   
			}else{
				System.out.println("文件夹");
				String[] filelist = file.list();
				for (int i = 0; i < filelist.length; i++)
				{
					File readFile = new File(path+"\\"+filelist[i]);
					if(!readFile.isDirectory()){
						System.out.println("read file Name:" + readFile.getName());
						ExcelFile.readExl(readFile.getPath());
						System.out.println("------------------------");
						//System.out.println("path=" + readFile.getPath());
			            //System.out.println("absolutepath=" + readFile.getAbsolutePath());
			            //System.out.println("name=" + readFile.getName());
					}else{
						readFile(path+"\\"+filelist[i]);
					}
				}
				
			}
		}
		catch (Exception e)
		{
			System.out.println("readFile() Exception:"+e.getMessage());
		}
		return true;
	}
	
	public static void main(String[] args)
	{
	
			try
			{
				readFile("C:/Documents and Settings/Developer/Desktop/All-01012012-05312012");
			}
			catch (FileNotFoundException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			catch (IOException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			//deleteFile("C:/Documents and Settings/Developer/Desktop/All-01012012-05312012/All-01012012-05312012/ok");
		
	}
}

0
4
分享到:
评论

相关推荐

    poi.zip java读取excel文件

    Java 读取 Excel 文件是许多开发任务中的常见需求,Apache POI 是一个广泛使用的开源库,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在本案例中,提供的压缩包 "poi.zip" 包含了两个子文件:poi-bin-...

    java读取excel文件

    ### Java读取Excel文件知识点详解 #### 一、引言 在日常开发工作中,经常需要处理Excel文件。Java作为一种广泛使用的编程语言,提供了多种库来读取Excel文件,其中较为常用的有Apache POI和JExcelApi等。本文将详细...

    Java读写文件(excel)

    Java读写文件-Excel

    java读取excel之xlsl超大文件

    在Java编程中,处理Excel文件是一项常见的任务,特别是在数据分析、报表生成或数据导入导出等场景下。然而,当处理的Excel文件特别是XLSL格式的文件数据量巨大时,传统的API,如Apache POI或者JExcelAPI,可能会遇到...

    java实现mysql数据库的表导出到excel文件

    本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...

    java解析Excel文件并把数据存入数据库和导出数据为excel文件SpringBoot代码示例

    2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection.json 2. 导入sql到数据库:other/excel.sql 3. idea导入...

    Java读取Word中的表格(Excel),并导出文件为Excel

    在Java编程中,有时我们需要处理来自不同文档格式的数据,例如从Word文档中提取表格内容,并将其转换成Excel文件。这通常涉及到使用Apache POI库,一个强大的API,用于读写Microsoft Office格式的文件,包括Word(....

    java读写excel文件

    在Java编程中,读写Excel文件是一项常见的任务,特别是在数据处理、数据分析或报表生成的场景下。本篇文章将深入探讨如何使用Java进行Excel文件的读取与写入操作,主要聚焦于Apache POI库,这是一个广泛使用的开源...

    Excel文件读写java代码

    2. **Java中的Excel操作**:Java本身并不内置对Excel文件的直接支持,但可以通过第三方库如JXL(Java Excel API)来实现读写Excel文件的功能。JXL是一个开源的Java库,它提供了方便的API,使得开发者可以轻松地操作...

    java读取excel文件生成矩阵

    在Java编程中,读取...以上就是使用Java读取Excel文件生成矩阵的基本步骤。实际开发中,你可能还需要处理更多细节,如异常处理、数据验证、优化性能等。希望这个介绍能帮助你理解这个过程,并在实际项目中灵活应用。

    java读写excel、csv文件

    文件中包括读取excel、csv文件,同时可以将读取出的文件内容保存在另外一个excel或csv中。注意excel2003和excel2007调用的jar包也不一样,需要将代码进行修改。2007版的将HSSF改成XSSF,2003相反。csv文件用XSSF

    java 读取Excel文件中的内容

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

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

    可以通过读取和处理Excel文件的特定部分(如按行或按列)来分块操作,而不是一次性读取所有内容。 3. **设置合适的内存参数**:在JVM启动时,可以增加堆内存大小,例如使用`-Xms`和`-Xmx`选项。然而,这并不是...

    java读取excel及导出excel文件

    在Java编程环境中,处理Excel文件是一项常见的任务,无论是读取数据进行分析,还是导出报表供用户下载。这里,我们将详细探讨如何使用Java来读取和导出Excel文件,主要涉及的技术包括Apache POI库和其他相关API的...

    Java处理100万行超大Excel文件秒级响应

    EasyExcel是一个基于Java的简单、易用且高效的Excel处理工具,它支持读写Excel文件,并且能够有效地避免内存溢出问题。 **EasyExcel特点:** - **内存消耗低:** EasyExcel使用流式处理的方式读取Excel文件,只在...

    JAVA读取WORD_EXCEL_POWERPOINT_PDF文件的方法(poi)

    JAVA 读取 WORD_EXCEL_POWERPOINT_PDF 文件的方法是使用 Apache POI 库来实现的。POI 库是一个开放源代码的 Java 库,提供了对 Microsoft Office 文件格式的读写能力。 读取 WORD 文件 在读取 WORD 文件时,需要...

    在Java中读写Excel文件

    在Java中读写Excel文件是一项常见的任务,尤其是在数据处理、报表生成或数据分析等场景下。Apache POI是一个广泛使用的开源库,它允许开发者使用Java语言来处理Microsoft Office格式的文件,包括Excel(XLS和XLSX)...

    读取分析Excel所有jar包和java示例文件

    总之,"读取分析Excel所有jar包和java示例文件"的资源包为Java开发者提供了一个实用的起点,帮助他们学习如何在项目中集成Excel文件处理功能。通过深入理解Apache POI库以及示例代码的实现,开发者可以更好地应对...

    Java读取Excel文件的内容

    总结来说,使用Java和Apache POI框架读取Excel文件的内容主要包括以下几个步骤: 1. 引入Apache POI依赖。 2. 创建`FileInputStream`,加载Excel文件到`Workbook`对象。 3. 从`Workbook`中获取`Sheet`对象。 4. 遍历...

Global site tag (gtag.js) - Google Analytics