java 操作Excel表 创建 查看 修改
需要用到jxl.jar包 修改有两种方法一种是jxl的 另一种需要apache.poi包
package excelChuLi; import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import jxl.*;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook; public class Excel_1 {
public void show(){//往Excel表插入数据
try {
WritableFont font1=new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD);//这儿是设置字体大小和样式
WritableCellFormat format1=new WritableCellFormat(font1);
//水平居中
format1.setAlignment(jxl.format.Alignment.CENTRE);
//把垂直对齐方式指定为居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);// 打开文件 上面内容设置样式 可以忽略 只是参考学习
WritableWorkbook book = Workbook.createWorkbook(new File("C:\\file\\test.xls"));
// 生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("第一页", 0);
//sheet.mergeCells(0,0,5,0);//合并第一行1至6列
// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
// 以及单元格内容为test
Label label = new Label(0, 0, "test",format1);//不需要设置样式的可以去掉format1// 将定义好的单元格添加到工作表中
sheet.addCell(label);
/*
* 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第七列,第一行,值为789.123
*/
jxl.write.Number number = new jxl.write.Number(6, 0, 555.12541);
sheet.addCell(number);
// 写入数据并关闭文件
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
public void duqu(){//读取一个单元格内容
try {
Workbook book = Workbook.getWorkbook(new File("C:\\file\\test.xls"));
// 获得第一个工作表对象
Sheet sheet = book.getSheet(0);
// 得到第一列第一行的单元格
Cell cell1 = sheet.getCell(0, 0);
String result = cell1.getContents();//获取单元格内容
System.out.println(result);
book.close();
} catch (Exception e) {
System.out.println(e);
}
} public void hebin(){
try {
// 打开文件
WritableWorkbook book = Workbook.createWorkbook(new File("C:\\file\\test.xls"));
// 生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("第一页", 0); //合并第一列第一行到第六列第一行的所有单元格
sheet.mergeCells(0,0,5,0);
book.close();
} catch (Exception e) {
System.out.println(e);
} }
public void xunhuan(){
try {
Workbook book = Workbook.getWorkbook(new File("C:\\file\\test.xls"));
// 获得第一个工作表对象
Sheet sheet = book.getSheet(0);
// 得到第一列第一行的单元格
int columnum = sheet.getColumns();// 得到列数
int rownum = sheet.getRows();// 得到行数
System.out.println(“列数”+columnum);
System.out.println("行数"+rownum);
for (int i = 0; i < rownum; i++)// 循环进行读写
{
for (int j = 0; j < columnum; j++) {
Cell cell1 = sheet.getCell(j, i);
String result = cell1.getContents();
System.out.print(result);
System.out.print(" ");
}
System.out.println();
}
book.close();
} catch (Exception e) {
System.out.println(e);
} }
public void update(){//第一种修改 需要apache.poi包
try {
File file=new File("C:\\file\\test.xls");
FileInputStream fis=new FileInputStream(file);
HSSFWorkbook workbook=new HSSFWorkbook(fis);
HSSFSheet sheet=workbook.getSheetAt(0);//获取第一页
HSSFRow r=sheet.getRow(1);//第0行
HSSFCell cell=r.getCell(1);//第0个储存单元
cell.setCellValue("修改测试");//set入内容
String str1=cell.getStringCellValue();//get也可以取出值
System.out.println("单元格原来值为"+str1);
fis.close();//关闭文件输入流
FileOutputStream fos=new FileOutputStream(file);//前面的修改信息只是在内存中 这儿才是真的把修改写到表中
workbook.write(fos);//将修改内容写入
workbook.close();
fos.close();//关闭文件输出流
} catch (Exception e) {
System.out.println(e);
} }
public void updat1(){//第二种将源文件重新写入并修改这个是jxl的
try {
//打开文件
Workbook wb = Workbook.getWorkbook(new File("C:\\file\\test1.xls"));
//打开一个文本的副本
WritableWorkbook book = Workbook.createWorkbook(new File("C:\\file\\test1.xls"),wb);//将上一个文本的副本写回到源文件
WritableSheet sheet=book.getSheet(0);
Label label = new Label(2, 0, "test");
sheet.addCell(label);
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Excel_1 n=new Excel_1();
//n.show();//新建并写入信息
//n.duqu();//读取数据
//n.hebin();
//n.xunhuan();//循环遍历表格
n.updat1();
} }
java 操作Excel表 创建 查看 修改的更多相关文章
- java操作Excel、PDF文件
java操作Excel.PDF文件 分享者:Vashon 分享来源:CSDN博客 下面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的 ...
- jxl的使用总结(java操作excel)
jxl.jar是通过java操作excel表格的工具类库: jxl.jar包:链接:http://pan.baidu.com/s/1o8qFJHw 密码:5jyq 1:通过模拟实现创建一个表格,然后模 ...
- Java操作Excel文件以及在Android中的应用
本文章由临江仙原创,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/10286563 Excel作为一种有格式的文件,可以使用Java来对 ...
- Java操作Excel之POI简单例子
/** * 利用POI操作Excel表单 * * 需要jar包: * HSSF针对03及以前版本,即.xls后缀 * |---poi-3.16.jar * XSSF针对07及以后版本,即xlsx后缀 ...
- 【转载】jxl的使用总结(java操作excel)
jxl.jar是通过java操作excel表格的工具类库: 链接:https://pan.baidu.com/s/1AAT_eA_Q47zFeQohap6eQg 提取码:777b 1:通过模拟实现创建 ...
- java操作excel 工具类
java操作excel 可参考https://blog.csdn.net/xunwei0303/article/details/53213130 直接上代码: 一.java生成excel文件: pac ...
- Java 操作 EXCEL
今天帮朋友写了一段用来处理EXCEL内容的程序,在这里记录下自己的学习过程.主要是对EXCEL表格中的内容做分类和统计,使用计算机来做这种重复的机械性地工作再好不过了.首先,我们需要下载一个java操 ...
- JAVA操作Excel时文字自适应单元格的宽度设置方法
使用JAVA操作Excel通常都使用JXL,方法很简单网上也有很多的教程,然后往往一些细节性的问题却导致我们这些Programmer苦恼不已.这两天帮一个朋友做一个Excel表格自动生成的小软件,就遇 ...
- Java操作ElasticSearch之创建客户端连接
Java操作ElasticSearch之创建客户端连接 3 发布时间:『 2017-09-11 17:02』 博客类别:elasticsearch 阅读(3157) Java操作ElasticSe ...
随机推荐
- 无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)
感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正! 如有转载,请保留源作者博客信息. Better Me的博客:blog.csdn.net/tantexian 如需 ...
- upload&&download
package am.demo; import java.io.File; import java.io.IOException; import java.util.Iterator; imp ...
- Python演讲笔记1
参考: 1. The Clean Architecture in Python (Brandon Rhodes) 2. Python Best Practice Patterns (Vladimir ...
- virtualbox
下载安装:http://wiki.centos.org/zh/HowTos/Virtualization/VirtualBox
- 【XLL 框架库函数】 QuitFramework
去初使化框架库,简问题是才的重新初使化 XLOPER/XLOPER12. 参数 这个函数没有参数 属性值/返回值 这个函数没有返回值.
- 异或之(bzoj 3689)
Description 给定n个非负整数A[1], A[2], --, A[n].对于每对(i, j)满足1 <= i < j <= n,得到一个新的数A[i] xor A[j],这 ...
- button按钮波纹,箭头特效css
波纹特效: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...
- HTTP错误500.19-定义了重复的节点
打开服务器的asp.net页面时出现这个错误: HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. 解决办法: 打开II ...
- CompletionService/ExecutorCompletionService/线程池/concurrent包
线程池 线程池的基本思想:线程频繁的创建.销毁会极大地占用系统资源,为了减少系统在创建销毁线程时的开销,线程池应运而生.线程池包括多个已创建的线程,当有任务要在新线程中执行时,将任务提交给线程池,线程 ...
- C#将数据大小字节转换为MB,GB,TB
http://www.myluoluo.com/c%E5%B0%86%E6%95%B0%E6%8D%AE%E5%A4%A7%E5%B0%8F%E5%AD%97%E8%8A%82%E8%BD%AC%E6 ...