`
aa00aa00
  • 浏览: 325708 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

JAVA操作Excel总结

阅读更多

/**
	 * 往Excel中插入图片
	 * 
	 * @param dataSheet
	 *            待插入的工作表
	 * @param col
	 *            图片从该列开始
	 * @param row
	 *            图片从该行开始
	 * @param width
	 *            图片所占的列数
	 * @param height
	 *            图片所占的行数
	 * @param imgFile
	 *            要插入的图片文件
	 */
	public static void insertImg(WritableSheet dataSheet, int col, int row,
			int width, int height, File imgFile) {
		WritableImage img = new WritableImage(col, row, width, height, imgFile);
		dataSheet.addImage(img);
	}

 

 

 

使用jxl.jar实现对Excel读写的操作:

/**
	 * 读取Excel文件的内容
	 * 
	 * @param file
	 *            待读取的文件
	 * @return
	 */
	public static String readExcel(String excelFileName) {
		StringBuilder sb = new StringBuilder();

		Workbook wb = null;
		try {
			// 文件输入流
			InputStream stream = new FileInputStream(excelFileName);
			// 构造Workbook(工作薄)对象
			wb = Workbook.getWorkbook(stream);
		} catch (BiffException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		if (wb == null)
			return null;

		// 获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
		Sheet[] sheet = wb.getSheets();

		if (sheet != null && sheet.length > 0) {
			// 对每个工作表进行循环
			for (int i = 0; i < sheet.length; i++) {
				// 得到当前工作表的行数
				int rowNum = sheet[i].getRows();
				for (int j = 0; j < rowNum; j++) {
					// 得到当前行的所有单元格
					Cell[] cells = sheet[i].getRow(j);
					if (cells != null && cells.length > 0) {
						// 对每个单元格进行循环
						for (int k = 0; k < cells.length; k++) {
							// 读取当前单元格的值
							String cellValue = cells[k].getContents();
							// sb.append(cellValue + "\t");
							// 向控制台输出信息
							System.out.println(cellValue);
						}
					}
					sb.append("\r\n");
				}
				sb.append("\r\n");
			}
		}
		// 最后关闭资源,释放内存
		wb.close();
		return sb.toString();
	}

 

/**
	 * 生成一个Excel文件
	 * 
	 * @param fileName
	 *            要生成的Excel文件名
	 */
	public static void writeExcel(String 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();
			}
		}
	}

 

		// 测试读取Excel文件
		// ExcelUtils.readExcel("C:/xx.xls");

//		// 测试插入图片
//		try {
//			// 创建一个工作薄
//			WritableWorkbook workbook = Workbook.createWorkbook(new File(
//					"D:/test1.xls"));
//			// 待插入的工作表
//			WritableSheet imgsheet = workbook.createSheet("Images", 0);
//			// 要插入的图片
//			File imgFile = new File("D:/1285748103156_000.png");
//			insertImg(imgsheet, 0, 1, 6, 6, imgFile);
//			// 将图片插入Excel文件中
//			workbook.write();
//			workbook.close();
//		} catch (IOException e) {
//			e.printStackTrace();
//		} catch (WriteException e) {
//			e.printStackTrace();
//		}
		// 测试生成Excel文件
		   ExcelUtils.writeExcel("e:/test.xls");
	}

 

分享到:
评论
1 楼 courage207 2011-09-28  
用报表工具吧。。润乾,快逸都不错。。

相关推荐

    java操作excel技术总结

    个人总结的Java操作excel的技术,代码详细,包含jar引入

    java poi操作excel小例子

    基于poi的java操作excel小demo,有兴趣的童鞋可以下载,自己总结,与大家共享,例子不大。但是入门一定会有帮助。很快!

    POI操作Excel总结实例

    POI操作Excel总结实例,包括读取数据库中的表记录到Excel中;从Excel中读取数据到泛型集合中。 qq:294647378 详细:http://itba.taobao.com

    Java aspose Excel转为 pdf工具类

    Java aspose Excel转为 pdf工具类 拿来马上用 cv操作,有注释简单总结版 其他人的收费 写的一般。我搜索老半天才找到,记录之

    POI操作Excel常用方法总结.docx

    HSSF 是Horrible SpreadSheet Format的缩写,通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。 三、 ...

    POI实战-java开发excel详解

    4.常用操作 30 4.1注释 30 4.1.1 单表注释 30 4.1.2 多表注释 32 4.1.3 空单元格注释 34 4.2单元格合并与数据读取 34 4.3 窗口冻结 37 4.4 下拉列表 38 5.POI样式 39 5.1 POI样式相关类 39 5.2 单元格边框样式 40 ...

    java8源码-javaSE:JavaSE是在日常工作中整理的功能demo(如Java操作Excel表格、冒泡算法等)总结这些JavaSE常用

    JavaSE是在日常工作中整理的功能demo(如Java操作Excel表格、冒泡算法等) 总结这些JavaSE常用demo,记录工作中常用的方法并方便日后复用。 功能简介 Introduction 1.adapter 设计模式-适配器 2.algorithm 常用算法 ...

    Java常用包讲解系列:excel读写

    操作excel表单是程序猿必备技能。...这里很详细的总结了如何使用开源项目POI来操作excel表单。 推荐java初学者上http://www.happycoki.com网站去学习,这里为java初学者总结了一套学习教材,非常实用。

    如何使用EasyExcel库来写入Excel文件

    通过以上示例代码,你应该能够理解如何使用EasyExcel库在Java中进行Excel文件的写入操作。这个库提供了简洁的API,使得Excel文件的操作变得非常方便。 总结一下,实现Excel文件写入的步骤包括: 1.引入EasyExcel的...

    jxl创建excel总结,超详细

    JAVA EXCEL API的一些总结 要往xls文件里面写入数据的时候需要注意的是第一要新建一个xls文件 OutputStream os=new FileOutputStream("c:\\excel2.xls"); 再建完这个文件的时候再建立工作文件 jxl.write....

    POI实战总结

    四、 EXCEL常用操作方法 。 【1、得到Excel常用对象 2、建立Excel常用对象 3、设置sheet名称和单元格内容 4、取得sheet的数目 5、根据index取得sheet对象 6、取得有效的行数 7、取得一行的有效单元格个数 8...

    (包含license)excel转换pdf.rar

    Java aspose Excel转为 pdf工具类 拿来马上用 cv操作,有注释简单总结版 其他人的收费 写的一般。我搜索老半天才找到,记录之

    easyexcel相关jar包.zip

    Java使用EasyExcel操作Excel表格的相关jar包,总结的一些包,想要的兄弟们来下载把!!

    easypoi教程总结

    easypoi操作excel导出 导入,word文档导出,HTML导出,PDF导出

    javascript使用Blob对象实现的下载文件操作示例

    最近在做以post请求方式导出excel时,想到了可以使用Blob对象将后台返回的输出流以arraybuffer或blob的格式接收交给Blob处理,最后使用URL生成链接,供浏览器下载excel。 环境 vue2.x webpack3.x axi

    分享一些java常用的工具类(源码) 非常实用

    java开发工作多年总结的的一些工具类; 包括有: 1、常用的日期类操作 2、excel操作 3、xml操作 4、集成科大讯飞语言合成工具类; 5、集合类操作(list,map,array) 6、FTP工具类 7、csv操作 8、file文件类操作 9...

    poi操作总结 内附详细流程及poi-3.6.jar

    java使用poi实现excel导入导出功能,详细描述并带有jar包

    jxl使用总结

    是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以操作Excel,两者相比之下:Jxl使用方便,但功能相对POI比较弱。

    GUI测试经验小结

    GUI测试经验小结 软件测试 用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否...比如,测试MicrosoftExcel中插入符号功能所用的对话框的大小,所有按钮是否对齐,字符串字体大小,出错

    java项目之基于springboot和vue的教师工作量管理系统 (源码+万字报告文档+部署说明+ppt)

    开发语言:Java 框架:springboot JDK版本:JDK1.8 数据库:mysql 数据库管理工具:Navicat 开发软件:eclipse/myeclipse/idea SpringBoot教师工作量管理系统是一个基于SpringBoot框架的教师工作量管理应用。它旨在...

Global site tag (gtag.js) - Google Analytics