JAVA Excel API 实现对Excel表格的读写更新

news/2024/7/21 6:29:07 标签: excel, java, api, 工作, exception, import

package myexceltest;

import jxl.*;
import Java.io.*;
import jxl.write.*;
/**
* <p>java读取Excel表格,拷贝、更新Excel工作薄 </p>
* <p>Description: Java开发人员可以读取Excel文件的内容,更新Excel工作薄,开发人员
* 也可以用程序生成新的Excel表格,不过我觉得在我们工作中几乎没有这方面需求,我
* 就不再列出来了,如果有哪位同事需要的话,我再把程序写出来
* </p>
* <p>Copyright: Copyright (c) KongZhong Corparation 2005</p>
* <p>程序开发环境为jb9</p>
* @author 张丽鹏
* @version 1.0
*/

public class Test1 {
public static void main(String[] args) {
jxl.Workbook rwb = null;
try{
//构建Workbook对象, 只读Workbook对象
//直接从本地文件创建Workbook
//从输入流创建Workbook
InputStream is = new FileInputStream("D:/jb9Test/MyExcelTest/Book1.xls");
rwb = Workbook.getWorkbook(is);

//Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中
//Sheet的下标是从0开始
//获取第一张Sheet表
Sheet rs = rwb.getSheet(0);
//获取Sheet表中所包含的总列数
int rsColumns = rs.getColumns();
//获取Sheet表中所包含的总行数
int rsRows = rs.getRows();
//获取指定单元格的对象引用
for(int i=0;i<rsRows;i ){
for(int j=0;j<rsColumns;j ){
Cell cell = rs.getCell(j,i);
System.out.print(cell.getContents() " ");
}
System.out.println();
}
//利用已经创建的Excel工作薄创建新的可写入的Excel工作
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File("D:/jb9Test/MyExcelTest/Book2.xls"),rwb);
//读取第一张工作
jxl.write.WritableSheet ws = wwb.getSheet(0);

//获得第一个单元格对象
jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
//判断单元格的类型, 做出相应的转化
if (wc.getType() == CellType.LABEL) {
Label l = (Label) wc;
l.setString("The value has been modified.");
}
//写入Excel对象
wwb.write();
wwb.close();

}catch(Exception e){
e.printStackTrace();
}
finally{
//操作完成时,关闭对象,释放占用的内存空间
rwb.close();

}
}
}


http://www.niftyadmin.cn/n/1049889.html

相关文章

NodeParty杭州站第二期系列讲座

2019独角兽企业重金招聘Python工程师标准>>> http://www.howzhi.com/course/179/lesson/1497 转载于:https://my.oschina.net/u/200898/blog/188992

基于SET协议的电子支付系统模块设计

基于Internet的电子商务以其具有传统商务模式不可比拟的优点而在当今世界蓬勃发展。电子商务发展的关键问题就是交易的安全性&#xff0c;也就是网络上的信息安全&#xff0c;即网上电子支付的安全实现。SET安全电子交易协议是由Visa和MasterCard公司于1997年5月联合开发的&…

jqGrid 属性中文详解(一)

以下内容描述格式是&#xff1a;属性名称   参数值类型   描述内容(可能有多行)   默认值   是否可修改(表示grid创建完成之后&#xff0c;该属性是否能够被修改。也就是说&#xff0c;是否grid的初始化的属性值能够被修改)   ————详细属性列表————   ajax…

Discuz的缓存体系

参考文档&#xff1a;<http://dev.discuz.org/wiki/index.php?title缓存机制> Discuz中涉及数据缓存的地方有&#xff1a; 1. session Dz的session只保存了登陆状态&#xff0c;不是我们理解的保存整个会话状态的概念2. cache3. syscache4. memory 我们通常意义上的缓存…

jqGrid 属性(二)

该属性不能修改   savedRow   array   只读属性。本属性用在Inline Editing和Cell Editing模式下&#xff0c;用来在编辑行或者单元格之前保存数据。   默认值:empty array   该属性不能修改 scroll   boolean or integer   创建一个动态滚动的grid。如果本属性可…

Java Socket

所谓socket通常也称作"套接字"&#xff0c;用于描述IP地址和端口&#xff0c;是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。本文将Java Socket编程分为三个学习步骤&#xff0c;逐一为您讲解。 第一步 充分理解Socket 1…

两墙之间的最大水量C实现

参考http://blog.jobbole.com/50705/写的C语言实现~~~哈哈~~其实文章下面代码已经有python的实现了~但我比较看得惯C语言~而且自己跟着写一遍的话比较容易有印象~~~&#xff08;具体解析参考文章相当详细~~&#xff09;#include <stdio.h> int calculate(int * arr, int …

6.5版 postfix邮件系统搭建

注&#xff01;DNS服务器中设置邮件交换记录步骤省略&#xff08;如有疑问&#xff0c;请查阅《DNS服务器搭建》这篇博客&#xff09;&#xff08;一)安装软件包rpm -vih postfix-2.6.6-2.2.el6_1.x86_64 //有的linux6.0版本以上默认安装&#xff08;二&#xff09;修改主配…