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

JAVA对Excel的基本操作(包括创建,更新,读取,拷贝等相关操作)

阅读更多
public static void main(String[] argv) {
		// 读Excel文件内容
		OperateExcel.readExcel("E:\\test1.xls");
		// OperateExcel.createExcelFile("E:\\test1.xls");
		// OperateExcel.updateExcel("E:\\test.xls");
		// 拷贝Excel文件
		// OperateExcel.copyExcel("D:\\Book1.xls", "E:\\moon.xls");
	}
 public static void readExcel(String excelFileName) { Workbook rwb = null; try { InputStream stream = new FileInputStream(excelFileName); rwb = Workbook.getWorkbook(stream); Sheet sheet = rwb.getSheet(0); Cell cell = null; int columns = sheet.getColumns(); int rows = sheet.getRows(); for (int i = 0; i < rows; i++) for (int j = 0; j < columns; j++) { cell = sheet.getCell(j, i); String str00 = cell.getContents(); System.out.println(str00); } stream.close(); } catch (IOException e) { e.printStackTrace(); } catch (BiffException e) { e.printStackTrace(); } finally { rwb.close(); } }

 

public static void createExcelFile(String excelFileName) {
		try {
			WritableWorkbook wwb = Workbook.createWorkbook(new File(
					excelFileName));
			WritableSheet ws = wwb.createSheet("sheet1", 0);
			// also,The first parameter is column,the second parameter is row.
			// add normal label data
			Label label00 = new Label(0, 0, "Label00");
			ws.addCell(label00);
			// add font formating data
			WritableFont wf = new WritableFont(WritableFont.TIMES, 18,
					WritableFont.BOLD, true);
			WritableCellFormat wff = new WritableCellFormat(wf);
			Label label10 = new Label(1, 0, "Label10", wff);
			ws.addCell(label10);
			// add color font formating data
			WritableFont wf_color = new WritableFont(WritableFont.ARIAL, 10,
					WritableFont.NO_BOLD, false,
					UnderlineStyle.DOUBLE_ACCOUNTING, Colour.RED);
			WritableCellFormat wff_color = new WritableCellFormat(wf_color);
			wff_color.setBackground(Colour.GRAY_25); // set background coloe to
														// gray
			Label label20 = new Label(2, 0, "Label20", wff_color);
			ws.addCell(label20);

			// 合并单元格
			WritableFont wf_merge = new WritableFont(WritableFont.ARIAL, 10,
					WritableFont.NO_BOLD, false,
					UnderlineStyle.DOUBLE_ACCOUNTING, Colour.GREEN);
			WritableCellFormat wff_merge = new WritableCellFormat(wf_merge);
			wff_merge.setBackground(Colour.BLACK);
			Label label30 = new Label(3, 0, "Label30", wff_merge);
			ws.addCell(label30);
			Label label40 = new Label(4, 0, "Label40");
			ws.addCell(label40);
			Label label50 = new Label(5, 0, "Label50");
			ws.addCell(label50);
			// 合并 (0,3) (4,0)
			// attention : 如果合并后面的列不为空,那么就把后面格的内容清空,格式也是按前一个单元格的格式
			ws.mergeCells(3, 0, 4, 0);

			// 添加Number格式数据
			jxl.write.Number labelN = new jxl.write.Number(0, 1, 3.1415926);
			ws.addCell(labelN);

			// 添加带有formatting的Number对象
			jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");
			jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(
					nf);
			jxl.write.Number labelNF = new jxl.write.Number(1, 1, 3.1415926,
					wcfN);
			ws.addCell(labelNF);

			// 添加Boolean对象
			jxl.write.Boolean labelBoolean = new jxl.write.Boolean(2, 1, false);
			ws.addCell(labelBoolean);

			// 添加DateTime对象
			DateTime labelDT = new DateTime(3, 1, new Date());
			ws.addCell(labelDT);

			// 添加带有格式的DataTime数据
			DateFormat dtf = new DateFormat("yyyy-MM-dd hh:mm:ss");
			WritableCellFormat wcfDt = new WritableCellFormat(dtf);
			wcfDt.setBackground(Colour.YELLOW);
			DateTime labelDT_format = new DateTime(4, 1, new java.util.Date(),
					wcfDt);
			ws.addCell(labelDT_format);
			ws.mergeCells(4, 1, 5, 1); // 比较长,用两列来显示

			wwb.write();
			wwb.close();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (WriteException e) {
			e.printStackTrace();
		}
	}

 

public static void updateExcel(String fileName) {
		try {
			jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(fileName));
			WritableWorkbook wwb = Workbook.createWorkbook(new File(fileName),
					rw);
			// 这里其实执行的是一次copy操作,把文件先读到内存中,修改后再保存覆盖原来的文件来实现update操作
			WritableSheet ws = wwb.getSheet(0);
			WritableCell wc = ws.getWritableCell(0, 0);
			if (wc.getType() == CellType.LABEL) {
				Label l = (Label) wc;
				l.setString(wc.getContents() + "_new");
			}
			wwb.write();
			wwb.close();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (WriteException e) {
			e.printStackTrace();
		} catch (BiffException e) {
			e.printStackTrace();
		}
	}

 

public static void copyExcel(String sourFileName, String destFileName) {
		try {
			jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(sourFileName));
			WritableWorkbook wwb = Workbook.createWorkbook(new File(
					destFileName), rw);
			wwb.write();
			wwb.close();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (WriteException e) {
			e.printStackTrace();
		} catch (BiffException e) {
			e.printStackTrace();
		}
	}

 

分享到:
评论

相关推荐

    JAVA-write-EXCEL.rar_copy excel java_java write_java读取_java读取Exc

    java读取Excel表格,拷贝、更新Excel工作薄

    利用Java实现复制Excel工作表功能

    主要给大家介绍了关于如何利用Java实现复制Excel工作表功能的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    java读写excel的操作文档

    java读写excel的操作文档,其中包括读取、新建以及拷贝修改EXCEL文件。只需要jxl.jar包,我已经上传,同样是0分下载的

    java 读取excel文件97-2007等格式

    这是我自己写的一个独立的方法,里边有上传方法,判断文件名方法,和读取excel方法,本方法支持97-2003的xls格式的文件,也支持2007的xlsx格式的文件。 可以直接拷贝到项目中,用到时直接调用readexcel()方法即可...

    Java poi复制execl的sheet页,跨文件操作,数据和样式全部复制,工具类

    Java poi复制execl的sheet页,跨文件操作,数据和样式全部复制,工具类

    Java处理Excel文件

    Java处理Excel文件: 1 从Excel文件读取数据表 2 生成新的Excel工作薄 3 拷贝、更新Excel工作薄

    jxl操作excel表格

    java读取Excel表格,拷贝、更新Excel工作薄、多个sheet合并为一个excel

    Python核心编程第二版(ok)

     6.20 拷贝Python对象.c浅拷贝和深拷贝   6.21 序列类型小结   6.22 练习   第7章 映像和集合类型   7.1 映射类型:字典   7.1.1 如何创建字典和给字典赋值   7.1.2 如何访问字典中的值   ...

    NTKO文档在线编辑控件4.0.1.2

    NTKO OFFICE文档控件能够在浏览器窗口中直接编辑Word,Excel,Wps等Office文档并保存到任意Web服务器。实现文档和电子表格的统一管理。同时支持强制痕迹保留,手写签名,电子印章,版本控制,附件上传等办公自动化系统...

    asp.net知识库

    简单实用的DataSet更新数据库的类+总结 [ADO.NET]由数据库触发器引发的问题 为ASP.NET封装的SQL数据库访问类 DataTable.Select方法的性能问题 .NET 2.0里使用强类型数据创建多层应用 ADO.NET实用经验无保留曝光 有了...

    网管教程 从入门到精通软件篇.txt

    JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JFF,JFIF,JIF:JPEG文件 JPE,JPEG,JPG:JPEG图形文件 JS:javascript源文件 JSP:HTML网页,其中包含有对一个Java servlet...

    基于模板的代码生成器LKGenerator1.1.0_x64

    (2)配置生成代码的固定文件路径,这个配置中的文件将原样拷贝到最终生成的代码中,主要适用于非文本文件如*.jpg *.jar等文件。 (3)配置引用jar路径,这个jar路径的配置是需要加载的class需要引用的jar. (4)...

    基于模板的代码生成器LKGenerator1.1.0_x86

    (2)配置生成代码的固定文件路径,这个配置中的文件将原样拷贝到最终生成的代码中,主要适用于非文本文件如*.jpg *.jar等文件。 (3)配置引用jar路径,这个jar路径的配置是需要加载的class需要引用的jar. (4)...

    易语言程序免安装版下载

    升级加密狗驱动程序,增加了对 Windows 7, Vista 等操作系统的支持。 5. 操作系统界面功能支持库(shell.fne)中的“执行()”命令增加一个参数“窗口显示方式”,作用与核心库“运行()”命令的同名参数一致。 6. ...

    jsp编程技巧集锦

    JSP编程技巧集锦 &lt;br&gt;需要者请联系:e_mail:fzlotuscn@yahoo.com.cn QQ:595563946&lt;br&gt;&lt;br&gt;目 录 &lt;br&gt;1. JSP编程中常用的js技术 2....文本拷贝 139.字符串转日期 140.计算今天距月底还有几天

Global site tag (gtag.js) - Google Analytics