简单excel导入导出
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
/**
*
* @ClassName: ExcelOperate
* @Description: TODO(使用jxl简单实现Excel导入导出)
* @date 2016年8月3日 下午2:12:53
*
*/
public class ExcelOperate {
public static void main(String[] args) {
//writeToFile();
// /this.readFromFile();
}
int col=100,row =100;
/**
*
* @Title: ExcelOperate
* @Description: TODO(读取excel文件里的内容)
* @param @param path 设定文件
* @return @param path 返回类型
* @throws
*/
public boolean readExcel(String path){
boolean flag=false;
File file = new File(path);
// File file = new File("C:/Users/Administrator/Desktop/mmonitor.xls");
StringBuffer sb = new StringBuffer();
try {
Workbook book = Workbook.getWorkbook(file);//拿到excel工作空间
try{
Sheet sheet = book.getSheet(0);
col = book.getSheet(0).getColumns();//获取excel文件有列
row = book.getSheet(0).getRows();//获取excel文件有行
System.out.println(col+"=="+row);
for(int i = 1 ; i < col ; i++){
for(int j = 1 ; j <row ; j++){
//第一个参数代表列,第二个参数代表行。(默认起始值都为0)
try{
Cell jj =sheet.getCell(j, i);//获取excel单个格子
if(jj!=null){
String cont=jj.getContents();//获取格子的内容
sb.append(cont+"\t");
System.out.println(cont);
}
}catch(Exception e){
System.out.println("这个表格没有值");
}
}
sb.append("\n");
}
flag=true;
//System.out.println(sb);
}finally{
if(book != null){
book.close();
}
}
} catch (BiffException e) {
System.err.println(e+"");
} catch (IOException e) {
System.err.println(e+"文件读取错误");
}
return flag;
}//end readFromFile
//witeToFile
public void writeToFile(){
File file = new File("C:/Users/Administrator/Desktop/mmonitor.xls");
try {
WritableWorkbook book = Workbook.createWorkbook(file);
//创建一个工作区。(默认的excel文件有三个sheet,在excel的左下角可以看到sheet1/sheet2/sheet3)
WritableSheet sheet = book.createSheet("第一页", 0);
//在工作区上面添加内容
try {
for(int i = 0; i < 10 ; i ++ ){
for(int j = 0 ; j < 10 ; j++){
Label newLabel;
if(0 == i){
//第一个参数代表列,第二个参数代表行(默认起始值都为0),第三个参数是要在单元格里面填写的内容发
newLabel = new Label(j,i,String.valueOf("的"));
}else if(0 == j){
newLabel = new Label(j,i,String.valueOf("的"));
}else{
newLabel = new Label(j,i,String.valueOf("的"));
}
//在单元格上面添加注释
// WritableCellFeatures cellFeatures = new WritableCellFeatures();
// cellFeatures.setComment("这里是"+i+"*"+j+"的值");
// System.out.println("这里是"+i+"*"+j+"的值");
// newLabel.setCellFeatures(cellFeatures);
sheet.addCell(newLabel);
}
}
} catch (RowsExceededException e) {
System.err.println(e+"行或列参数错误!");
} catch (WriteException e) {
System.err.println(e+"写入失败");
}finally{
if(book != null){
book.write();
try {
book.close();
} catch (WriteException e) {
System.err.println(e+"文件关闭失败!");
}
}
}
} catch (IOException e) {
System.err.println(e+"创建文件失败!");
}
}
}
简单excel导入导出的更多相关文章
- 一个基于POI的通用excel导入导出工具类的简单实现及使用方法
前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...
- Mego(04) - NET简单实现EXCEL导入导出
前言 相信做过信息系统的朋友都会遇到EXCEL导入导出的相关开发,做过不少EXCEL导入导出后总结起来大致有如下几种方式实现: ADO.NET的OldDb或ODBC连接EXCEL使用DataTable ...
- Excel导入导出工具(简单、好用且轻量级的海量Excel文件导入导出解决方案.)
Excel导入导出工具(简单.好用且轻量级的海量Excel文件导入导出解决方案.) 置顶 2019-09-07 16:47:10 $9420 阅读数 261更多 分类专栏: java 版权声明:本 ...
- Excel导入导出的业务进化场景及组件化的设计方案(上)
1:前言 看过我文章的网友们都知道,通常前言都是我用来打酱油扯点闲情的. 自从写了上面一篇文章之后,领导就找我谈话了,怕我有什么想不开. 所以上一篇的(下)篇,目前先不出来了,哪天我异地二次回忆的时候 ...
- 关于Excel导入导出的用例设计
目前,为方便操作,很多系统都会增加批量导入导出的功能.文件导入导出一般格式都是excel.由于用户直接在excel在填写内容,无法控制填写的格 式,加上excel解析比较困难,所以一般涉及到excel ...
- Octopus——excel导入导出工具
Octopus Octopus是一个简易的Excel导入导出工具.目前主要就两个功能: 导入:将excel中一行数据转换为指定的java对象,并通过指定的正则表达式检查合法性. 导出:按照给定的xml ...
- JeeSite中Excel导入导出
在各种管理系统中,数据的导入导出是经常用到的功能,通常导入导出以Excel.CSV格式居多.如果是学习的过程中,最好是自己实现数据导入与导出的功能,然而在项目中,还是调用现成的功能比较好.近期一直使用 ...
- 土制Excel导入导出及相关问题探讨
转载请注明出处https://www.cnblogs.com/funnyzpc/p/10392085.html 新的一年,又一个开始,不见收获,却见年龄,好一个猪年,待我先来一首里尔克的诗: < ...
- java jxl excel 导入导出的 总结(建立超链接,以及目录sheet的索引)
最近项目要一个批量导出功能,而且要生成一个单独的sheet页,最后后面所有sheet的索引,并且可以点击进入连接.网上搜索了一下,找到一个方法,同时把相关的excel导入导出操作记录一下!以便以后使用 ...
随机推荐
- beego 初体验 - 基础模块 - config, httplibs, logs
beego 的基础模块支持了一些web开发常用的功能. 配置,http操作库,日志 配置模块: 这是我的配置文件 如何读取: httplibs:这是一个利用 httplibs 发起 get 请求的示例 ...
- centos共享目录
使用VirtualBOX自带的共享文件夹功能 运行环境: - 宿主机:windows 10 - 虚拟机:CentOS 7(我当初是按照Ubuntu环境下的教程弄的,所以其他Linux版本也可以参考 ...
- 擦他丫的,今天在Django项目中引用静态文件jQuery.js 就是引入报错,终于找到原因了!
擦 ,今天在Django项目中引用静态文件jQuery.js 就是引入报错,终于找到原因了! 问题在于我使用的谷歌浏览器,默认使用了缓存,导致每次访问同一个url时,都返回的是缓存里面的东西.通过谷歌 ...
- IT人员如何开好站立会议
一.来由 软件开发的过程却又是一个离不开协作.沟通的过程.一个缺乏良好协作,沟通.理解和目标一致的软件团队,是很难高质高效的交付的. 敏捷的众多实践中,有一个为了提升团队协作的经典实践:站立会议 二. ...
- gateway + jwt 网关认证
思路: 全局过滤器对所有的请求拦截(生成token有效期30分钟,放入redis设置有效期3天.3天之类可以通过刷新接口自动刷新,超过3天需要重新登录.) 前端在调用接口之前先判断token是否过期( ...
- supervisor 守护进程
一.supervisor 安装 1.yum -y install epel-release 2.yum -y install supervisor 二.supervisor 配置文件详解 三.supe ...
- 面试(I)
即时通讯 为什么要TCP连接建立3次? 假设是2次: 假如在第1次客户端向服务器端发送请求因为阻塞,客户端会再次给服务器端发送请求,这次服务器端和客户端建立了连接.这样双方就可以发送数据了,发送完以后 ...
- 在 Tomcat 中自定义 404 页面(简单配置)
打开 Tomcat 中的 web.xml,(tomcat/conf/web.xml) 添加如下代码: <error-page> <error-code>404</e ...
- Windows 服务器自动重启定位
有个非常好的小技巧,就是在服务器端命令行,执行systeminfo,能查到服务器上一次重启的时间,依照这个时间在Event Log里再找相应的日志就容易多了. 补充:还能查到这台服务器是虚拟机还是实体 ...
- 怎样从外网访问内网Sysbase数据库
外网访问内网Sysbase数据库 本地安装了Sysbase数据库,只能在局域网内访问,怎样从外网也能访问本地Sysbase数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Sys ...