jxl操作excel示例

Spark Graphx 项目实战(航班飞行网图分析) 航班飞行网图分析一.需要的技能点二.任务描述三.数据探索1.下载数据2.数据格式四.航班飞行网图问题分析1.构建航班飞行网图2.统计航班飞行网图中机场与航线的数量3.计算最长的飞行航线4.找出最繁忙的机场5.找出最重要的飞行航线6.找出最便宜的飞行航线五.代码实现 一.需要的技能点 Spark GraphX API Spark GraphX PageRank Spark GraphX Pregel 二.任务描述 需求概述: 探索航班飞行网图数据 构建航班飞行网图 使用Spark GraphX完成下列任 阅读详情

     该例主要实现了将excel的值导入到mysql数据库当中来,为了方便将数据库的值都改了varchar类型,实现的比较粗糙,仅供参考。

     所用jar包:
     mysql-connector-java-5.1.7-bin.jar
     jxl.jar
     commons-logging-1.0.4.jar
     commons-lang-2.3.jar

import java.io.File;
import java.io.IOException;
import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import jxl.Cell;
import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

public class ReadWriteExcelUtil {

	/**
	 * @param args 
	 */
	public static void main(String[] args) {
		String fileName = "d:" + File.separator + "其他.xls";
		List list = ReadWriteExcelUtil.readExcel(fileName);
		DBUtil.batch(list);
	}

	/**
	 * 從excel文件中讀取所有的內容
	 * 
	 * @param file
	 *            excel文件
	 * @return excel文件的內容
	 */
	public static List<Zhaopin> readExcel(String fileName) {
		List list = new ArrayList();
		Workbook wb = null;
		try {
			// 构造Workbook(工作薄)对象
			wb = Workbook.getWorkbook(new File(fileName));
		} 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 = 1; j < rowNum; j++) {
					// 得到当前行的所有单元格
					Cell[] cells = sheet[i].getRow(j);

					ArrayList temp = new ArrayList();
					if (cells != null && cells.length > 0) {
						// 对每个单元格进行循环
						for (int k = 0; k < cells.length; k++) {
							// 读取当前单元格的类型
							CellType type = cells[i].getType();

							// 读取当前单元格的值
							String cellValue = cells[k].getContents();
							temp.add(k, formateDate(type, cellValue));
						}
					}
					list.add(temp);
					// sb.append("\r\n");
				}
				// sb.append("\r\n");
			}
		}
		// 最后关闭资源,释放内存
		wb.close();
		return list;
	}

	/**
	 * 该方法将日期格式转换为想要的格式
	 * 
	 * @param type
	 *            单元格的类型
	 * @param value
	 *            单元格的值
	 * @return
	 */
	public static String formateDate(CellType type, String value) {
		String str = value;
		if (CellType.DATE == type) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			try {
				Date dd = (Date) sdf.parse(value.toString());
				return sdf.format(dd);
			} catch (ParseException e) {
			}
		}
		return str;
	}

	/**
	 * 把內容寫入excel文件中
	 * 
	 * @param fileName
	 *            要寫入的文件的名稱
	 */
	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) + "列");
					// Label labelC=new Label();
					try {
						// 将生成的单元格添加到工作表中
						ws.addCell((WritableCell) 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();
			}
		}
	}
}
bean

public class Zhaopin {
	private int id;
	private String qudao;
	private String laiyuan;
	private String ispay;
	private	String posttime;
	private String fuzeren;
	private String gangwei;
	private String name;
	private String sex;
	private String age;
	private String xueli;
	private String phone;
	private String email;
	private String salary;
	private String addr;
	//...setter()/getter()
}
DBUtil

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class DBUtil {
	private static String user = "root";
	private static String passwd = "root1230";
	private static String driverClass = "com.mysql.jdbc.Driver";

	public static Connection getConnection() {
		Connection conn = null;
		try {
			Class.forName(driverClass);
			conn = DriverManager.getConnection(
					"jdbc:mysql://127.0.0.1:3306/test", user, passwd);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}

	public static void releaseConn(Connection conn, PreparedStatement ps,
			ResultSet rs) {
		try {
			if (conn != null) {
				conn.close();
			}
			if (ps != null) {
				ps.close();
			}
			if (rs != null) {
				rs.close();
			}

		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void batch(List list) {
		String sql = "insert into tb_zhaopin(qudao,laiyuan,ispay,posttime,fuzeren,gangwei,name,sex,age,xueli,phone,email,salary,addr)values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			conn = DBUtil.getConnection();
			conn.setAutoCommit(false);
			ps = conn.prepareStatement(sql);
			ArrayList list2=null;
			int count=0;
			
			for (int i = 0; i < list.size(); i++) {
				list2 = (ArrayList) list.get(i);
				if (list2 != null) {
					for(int j=0;j<list2.size();j++){
						ps.setString(j+1, (String) list2.get(j));
					}
					ps.addBatch();
					count++;
					if((count+500)%500==0){
						ps.executeBatch();
						ps.clearBatch();
						count=1;
						conn.commit();
					}
				}
			}
	
			//判断是否有剩余的没有被处理的. 
			if(count%500!=0){
				ps.executeBatch();
				ps.clearBatch();
				conn.commit();
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			DBUtil.releaseConn(conn, ps, rs);
		}
	}
}
所用的excel表格:



sql语句:

CREATE TABLE `tb_zhaopin` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `qudao` varchar(20) DEFAULT NULL,
  `laiyuan` varchar(20) DEFAULT NULL,
  `ispay` varchar(12) DEFAULT NULL,
  `posttime` varchar(12) DEFAULT NULL,
  `fuzeren` varchar(20) DEFAULT NULL,
  `gangwei` varchar(20) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL,
  `sex` varchar(20) DEFAULT NULL,
  `age` varchar(12) DEFAULT NULL,
  `xueli` varchar(20) DEFAULT NULL,
  `phone` varchar(12) DEFAULT NULL,
  `email` varchar(20) DEFAULT NULL,
  `salary` varchar(12) DEFAULT NULL,
  `addr` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;





万字详解YOLOv8网络结构Backbone/neck/head以及Conv、Bottleneck、C2f、SPPF、Detect等模块 YOLOv8是由Ultralytics开发的最先进的目标检测模型,推升了速度、准确性和用户友好性的界限。YOLO这一缩写代表“你只看一次”(You Only Look Once),通过在一次网络传递中同时预测所有边界框,提升了算法的效率和实时处理能力。相比之下,其他一些目标检测技术需要经过多个阶段或过程来完成检测。YOLOv8在流行的YOLOv5架构上进行了扩展,在多个方面提供了改进。 阅读详情

相关推荐

RDMA 出现背景、如何实现?如何测试连通性?

文章目录一、背景:1、传统的 网络通信:2、传统网络通信的问题:二、RDMA :1、出现背景:2、RDMA 简介:3、如何工作:4、RDMA 与 Infiniband 的关系:5、支持 RDMA 的其他协议:6、RDMA 的优势:7、通过 Infiniband 实现 RDMA :8、如何测试 RDMA 连通性:   一、背景: 1、传统的 网络通信:     &n...

郑泽林 2162

Vue单页面开发实例之数据列表+分页+时间筛选+类型选择及后台实现

一、描述 页面主要功能是: 通过列表展示用户意见反馈信息, 通过类型查询数据 通过时间筛选查询数据 点击缩略图展示大图 二、Element--Ui组件的选用 el-table:数据展 el-select : 类型选择 el-data-picker :筛选时间日期 el-image:图片加载 el-dialog:查看大...

圣人男的博客 1737

什么是OAuth 2.0?

OAuth2.0是一种授权协议而非登录协议,核心思想是通过令牌(Token)而非密码实现安全授权。它涉及三个关键角色:用户、第三方应用和身份提供商(IdP)。最常用的授权码流程(AuthorizationCode Flow)通过浏览器三方对话,确保用户密码只提供给IdP而非第三方应用。OAuth2.0提供四种授权方式,其中授权码和客户端凭证是当前主流,而隐式和密码模式已不推荐。需要注意的是,OAuth2.0解决的是授权问题,身份认证需通过OpenID Connect实现。该协议通过临时令牌机制,实现了&qu

sonadorje的专栏 1154

jxl.jar

jxl.jar  jxl.jar  通过java操作excel表格的工具类库  支持Excel 95-2000的所有版本  生成Excel 2000标准格式  支持字体、数字、日期操作  能够修饰单元格属性  支持图像和图表  应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另

1111

GPT注册与使用全流程详解:从零到一的实战指南

本文详细介绍了GPT的注册与使用全流程,从认识GPT作为智能对话助手开始,到注册前的设备与环境准备、手把手完成账号注册、首次使用指南以及进阶使用技巧。文章还涵盖了安全使用与注意事项,帮助用户从零开始高效利用GPT提升工作效率和内容创作能力。

weixin_33843409的博客 387

金融科技创新中人工智能的应用:8篇优质论文精选(含2023)

随着科技的飞速发展,金融领域正经历着前所未有的变革。在这个过程中,人工智能技术发挥着越来越重要的作用。为了深入探讨金融人工智能的研究和应用,享享特地整理了几篇金融人工智能方面的论文,大家可以看一下金融人工智能方向最新的研究成果!面向金融领域的大型语言模型本文介绍了BloombergGPT,一个基于广泛金融数据训练的500亿参数模型。基于彭博(Bloomberg)广泛数据来源,建立了一个基于彭博数据的3630亿令牌数据集,并结合了额外3450亿通用数据令牌。

2401_82426425的博客 3210

JXL示例

java通过JXL.JAR操作EXCEL

yingfengquan的专栏 395

【YOLOv11工业级实战】15. YOLOv11海洋监测实战:珊瑚礁健康评估(水下图像增强|机器人搭载)

摘要:本文针对珊瑚礁健康评估的海洋监测需求,基于YOLOv11提出解决方案,聚焦水下色偏、悬浮物干扰、珊瑚形态复杂三大难题。引用全球珊瑚礁监测网络(GCRMN)标准,采用CoralNet数据集,通过Jaffe-McGlamery物理模型引导增强与悬浮物去除算法,在浑浊水域(能见度<5m)实现87.3%的健康珊瑚识别率,藻类误判率低至7.2%。介绍了以BlueROV2水下机器人和Jetson AGX Orin为核心的部署方案,结合水下SLAM定位技术,实现珊瑚健康的实时评估与三维覆盖率计算。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1644

JXL 简单示例

JXL 1 Overview 1 Overview Home page:http://jexcelapi.sourceforge.net/ JXL 是一个开源的 Excel 开发库,支持 Excel 95, 97, 2000, XP 和 2003 下面是一个示例 import java.io.File; import jxl.Workbook; import j...

weixin_30348519的博客 146

OpenClaw与大语言模型(Claude/GPT/MiniMax)的集成架构与最优配置策略

摘要 本文探讨了OpenClaw框架与大语言模型(Claude/GPT/MiniMax)的集成架构与优化策略。大语言模型具有强大的自然语言处理能力,但集成面临API成本、响应延迟、上下文管理等挑战。OpenClaw采用分层架构设计,包括用户界面层、对话管理层、提示工程层、模型适配层和API调用层,支持多模型切换、智能对话管理和成本控制。系统通过模型适配层实现不同API的统一调用,并提供缓存、监控等优化机制。该集成方案能够充分发挥大语言模型的优势,为本地AI助理提供更智能的服务。

一键难忘的博客 1692

34、木材在家具制造中的应用

本文详细探讨了木材在家具制造中的应用,从木材的选择、加工技术到设计创新和表面处理等方面进行了全面解析,并结合实际案例分析木材家具的市场趋势与未来发展。文章强调了木材家具在功能性、智能化和环保性方面的潜力,展示了其在现代家居生活中的重要地位。

flink9streamer的博客 242

JXL操作Excel

jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。 另外需要说明的是,这套API对图形和图表的支持很有限,而...

温柔一刀 733

【UG\NX二次开发】多个带ui的dll怎么整合到一个dll

NX二次开发-群精选」专栏收录了那些曾散落在聊天对话框里的精彩的知识分享,这都是被遗落的宝贵财富。让我们一起向大佬学习,充满激情地进步,不断超越自己。底部联系方式,欢迎您加入一起交流。有大佬知道多个带ui的dll怎么整合到一个dll吗。

王牌飞行员_里海的博客 283

Jxl操作Excel,简介及用法示例

jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不 依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。 另外需要说明的是,这套API对图形和图表的支持很有限,而且 仅仅识别PN

牧羊仒 1346

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JXL读写EXCEL文件

如何使用Jxl操作Excel文件

surgent的专栏 1251

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java 在jxl中添加数据_jxl操作excel写入数据不覆盖原有数据示例

需要导入的包:jxl.jarpublic void readTO() {Workbook wb = null;WritableWorkbook wwb = null;try {File is = new File(System.getProperty("user.dir") + "\\in.xls");File os = new File(System.getProperty("user.dir"...

weixin_42286789的博客 504

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java excel 操作方式_java excel兩種操作方式

Excel是我們平時工作中比較常用的用於存儲二維表數據的,JAVA也可以直接對Excel進行操作,在這篇博客中將為大家介紹兩種操作Excel的方式,分別為:jxl和poi。對於兩者的區別網上有測試如下:測試結果類型   數據量(行)   執行時間(ms)   執行時間(ms)   執行時間(ms)   平均時間(ms)POI   1000       579       562       532...

weixin_39577964的博客 129

java写excel不覆盖_jxl操作excel写入数据不覆盖原有数据示例

需要导入的包:jxl.jarpublic void readto() {workbook wb = null;writableworkbook wwb = null;try {file is = new file(system.getproperty("user.dir") + "\\in.xls");file os = new file(system.getproperty("user.dir"...

weixin_33274593的博客 1099

jxl操作excel写入数据不覆盖原有数据示例

public void readTO() { Workbook wb = null; WritableWorkbook wwb = null; try { File is = new File(System.getProperty("user.dir") + "\\in.xls"); File os = new ...

weixin_30252155的博客 707

java操作excel常用的两种方式

Excel是我们平时工作中比较常用的用于存储二维表数据的,JAVA也可以直接对Excel进行操作,在这篇博客中将为大家介绍两种操作Excel的方式,分别为:jxl和poi。 来源:https://www.cnblogs.com/wangyang108/p/6030420.html 对于两者的区别网上有测试如下: 测试结果类型   数据量(行)   执行时间(ms)   执行时间(ms...

weixin_30820077的博客 75

jExcelAPI(jxl)操作Excel2003表格完整示例 - 两种方案 - 效率截然不同

流程: 1、用 jxl 读取Excel表格(传入Excel地址等): (1)读取Excel   ,将 Excel 中的所有 “工作表”,封装进 ArrayList     ls      中; (2)读取工作表,遍历 ls,     将 每个 工作表 的所有数据,封装进 ArrayList         ls_a  中; (3)读取每一行,遍历 ls_a,将 每一行 的所有 列 的内容,

分享·收获 7146

jxl操作excel文檔

下面是一些利用jxl操作excel的方法,這個class不能直接用,只是一個模板,涉及到一些像是excel存儲格格式,字體,顏色,存儲格大小,文檔名稱之類的一些零星方法...    /** * 產生Excel * @param conn 資料庫連結 * @param form 報價單查詢Form * @return byte

659

POI与JXL 操作excel比较

POI是一个标准的Apache项目,提供了完整的接口,不过也正因为这个POI用起来会很比较复杂不容易上手。相比较JXL就用起来就方便很多,功能也显得少了一些,不过应付起常见操作还是绰绰有余,JXL不支持设置打印区域。在我接触的很多项目中,都是采用的JXL,可以说JXL用POI 20%的代码实现了Poi 80%的功能。jxl的主要功能有: 1.从Excel 95、97、2000等格式的文件中读

1329

java jxl使用_Java使用JXL API对Excel表的操作(读取,更新,创建)

在日常工作中,对Excel工作表格的操作处理可是多的数不清楚,下面是java语言对其的操作(首先要把jxl.jar包拷到工程lib目录下面):工程架构:创建Excel:CreateExcel.java[java]package test1;import java.io.File;import java.io.IOException;import jxl.Workbook;import jxl.wr...

weixin_30895121的博客 525

JXL读出EXCEL文件

<br />JXL 操作EXCEL相对来说还是比较简单的。<br />代码示例:<br /> jxl.Workbook rwb = Workbook.getWorkbook(new File(filename));//filename指定文件路径+文件名 jxl.Sheet rs = rwb.getSheet(0); //读取工作表的数据 int num = rs.getRows();//得到此excel有多少行 for(int i=1;i<=num;i++){ for

王艺乔的专栏 764

jxl 新版电子表格_Java实现Excel表格操作--API:jxl(示例代码)

packagecom.jxl.excel;importjava.io.File;importjxl.Cell;importjxl.Sheet;importjxl.Workbook;importjxl.write.Label;importjxl.write.Number;importjxl.write.WritableCellFormat;importjxl.write.WritableFont;i...

weixin_39687990的博客 151
上一篇: java操作excel系列
下一篇: poi读取excel的工具类
君子陌
博客等级 码龄17年 8粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值