java操作Excel的一种方法

新手必看:SMIC 0.18um PDK安装保姆级教程(附Cadence IC617环境配置) 本文提供SMIC 0.18um PDK在Cadence IC617环境下的详细安装教程,涵盖环境准备、文件解压、安装脚本运行、环境变量配置及Cadence集成验证等关键步骤,特别针对初学者常见问题提供解决方案,助力快速掌握芯片设计工具配置。 阅读详情
Java操作Excel的一种方法

 bromon原创 版权所有

 MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。作为办公文档,势必要涉及到的电子文档的交换,Excel是一种在企业中非常通用的文件格式,打印和管理也比较方便。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。

 在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中jExcelAPI是一个韩国程序员的作品,虽然没有POI那样血统高贵,但是在笔者的使用过程中,感觉简单方便,对中文支持非常好,功能也比较强大。它的下载地址是:http://www.andykhan.com/jexcelapi/  当前的最高版本是2.4。作者的网站上对它的特征有如下描述:

 ● 支持Excel 95-2000的所有版本
 ● 生成Excel 2000标准格式
 ● 支持字体、数字、日期操作
 ● 能够修饰单元格属性
 ● 支持图像和图表

 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。

 搭建环境

 将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。

 基本操作

 一、创建文件

 拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:

 

 代码(CreateXLS.java):
  
 //生成Excel的类
 import java.io.*;
 import jxl.*;
 import jxl.write.*;

 public class CreateXLS
 {
 public static void main(String args[])
 {
 try
 {
  //打开文件
  WritableWorkbook book=
 Workbook.createWorkbook(new File(“测试.xls”));
     
 //生成名为“第一页”的工作表,参数0表示这是第一页
   WritableSheet sheet=book.createSheet(“第一页”,0);
   
 //在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
 //以及单元格内容为test
   Label label=new Label(0,0,”test”);

   //将定义好的单元格添加到工作表中
   sheet.addCell(label);

   /*生成一个保存数字的单元格
 必须使用Number的完整包路径,否则有语法歧义
 单元格位置是第二列,第一行,值为789.123*/
   jxl.write.Number number = new jxl.write.Number(1,0,789.123);
   sheet.addCell(number);

   //写入数据并关闭文件
   book.write();
   book.close();

  }catch(Exception e)
  {
   System.out.println(e);
  }
 }
 } 

 编译执行后,会在当前位置产生一个Excel文件。

 三、读取文件

 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:
  
 //读取Excel的类
 import java.io.*;
 import jxl.*;

 public class ReadXLS
 {
 public static void main(String args[])
 {
  try
  {
   Workbook book=
 Workbook.getWorkbook(new File(“测试.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);
  }
 }
 } 

 程序执行结果:test

 四、修改文件

 利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的时候,除了打开文件的方式不同之外,其他操作和创建Excel是一样的。下面的例子是在我们已经生成的Excel文件中添加一个工作表:

 //修改Excel的类,添加一个工作表
 import java.io.*;
 import jxl.*;
 import jxl.write.*;

 public class UpdateXLS
 {
 public static void main(String args[])
 {
  try
  {
   //Excel获得文件
   Workbook wb=Workbook.getWorkbook(new File(“测试.xls”));
   
   //打开一个文件的副本,并且指定数据写回到原文件
 WritableWorkbook book=
 Workbook.createWorkbook(new File(“测试.xls”),wb);
   
   //添加一个工作表
   WritableSheet sheet=book.createSheet(“第二页”,1);

   sheet.addCell(new Label(0,0,”第二页的测试数据”));
   
   book.write();
   book.close();
  }catch(Exception e)
  {
   System.out.println(e);
  }
 }
 } 

 执行结果如图:

 

 高级操作

 一、 数据格式化

 在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用。

 1、 字串格式化

 字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和WritableCellFormat类来负责。假设我们在生成一个含有字串的单元格时,使用如下语句,为方便叙述,我们为每一行命令加了编号:


 WritableFont font1=
 new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD); ①

 WritableCellFormat format1=new WritableCellFormat(font1); ②

 Label label=new Label(0,0,”data 4 test”,format1) ③

 其中①指定了字串格式:字体为TIMES,字号16,加粗显示。WritableFont有非常丰富的构造子,供不同情况下使用,jExcelAPI的java-doc中有详细列表,这里不再列出。

 ②处代码使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种属性,后面的单元格格式化中会有更多描述。

 ③处使用了Label类的构造子,指定了字串被赋予那种格式。

 在WritableCellFormat类中,还有一个很重要的方法是指定数据的对齐方式,比如针对我们上面的实例,可以指定:

 //把水平对齐方式指定为居中
 format1.setAlignment(jxl.format.Alignment.CENTRE);

 //把垂直对齐方式指定为居中
 format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);

 二、单元格操作

 Excel中很重要的一部分是对单元格的操作,比如行高、列宽、单元格合并等,所幸jExcelAPI提供了这些支持。这些操作相对比较简单,下面只介绍一下相关的API。

 1、 合并单元格

 WritableSheet.mergeCells(int m,int n,int p,int q); 

 作用是从(m,n)到(p,q)的单元格全部合并,比如:
 WritableSheet sheet=book.createSheet(“第一页”,0);

 //合并第一列第一行到第六列第一行的所有单元格
 sheet.mergeCells(0,0,5,0);

 合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。

 2、 行高和列宽

 WritableSheet.setRowView(int i,int height);

 作用是指定第i+1行的高度,比如:

 //将第一行的高度设为200
 sheet.setRowView(0,200);

 WritableSheet.setColumnView(int i,int width);

 作用是指定第i+1列的宽度,比如:

 //将第一列的宽度设为30
 sheet.setColumnView(0,30);

 jExcelAPI还有其他的一些功能,比如插入图片等,这里就不再一一介绍,读者可以自己探索。

 四川绵阳
 原文发表于《开发高手》0405期

YOLO11改进|注意力机制篇|引入ELA注意力机制 YOLO11添加ELA注意力机制 阅读详情

相关推荐

脑电数据预处理十四:主成分分析(PCA)用于伪迹去除与降维

本文探讨了主成分分析(PCA)在脑电图(EEG)预处理中的双重应用。针对EEG数据的高维特性和伪迹干扰问题,PCA既可有效去除高振幅伪迹(如眼动、心电等),又能实现数据降维。文章详细解析了PCA的核心原理,包括正交基向量投影和方差最大保留机制,并提供了基于MNE-Python的完整实现方案。通过代码示例展示了PCA在伪迹去除和降维中的具体应用效果,包括功率谱密度和时域波形的可视化对比。虽然ICA在复杂伪迹处理上更具优势,但PCA以其算法简单、计算高效的特点,成为EEG分析流程中不可或缺的基础工具。

qq_32516809的博客 1417

Jxl操作Excel设置背景、字体颜色、对齐方式、列的宽度(二)

package com.java.demo;      import java.io.File;   import java.io.IOException;   import jxl.Workbook;   import jxl.format.Alignment;   import jxl.format.Border;   import jxl.format.BorderLineStyle;  

Moonbow 7050

几何修复_ANSYS流体分析:几何前处理

建模及几何处理工具非常多,选择起来让人眼花缭乱。对于仿真而言,高效的对几何进行清理及生成符合仿真要求的几何至关重要。ANSYS SpaceClaim Direct Modeler是基于直接建模思想的新一代3D高效率建模和几何编辑修补软件。SCDM提供了当今最快速、最富有创意的直接建模解决方案。由于它的直接建模能力即使对于导入的其它3D模型(如catia、proe、solid works创建的几何)...

weixin_35778830的博客 2416

jxl实现自动化列宽和行高

一、实现自动行高:sheet.setRowView(i, true);//设置自动行高(i为行号)二、实现自动化列宽CellView cellView = new CellView(); cellView.setAutoSize(true); sheet.setColumnView(i,cellView);注:当单元格内容包含中文时,由于在Unicode编码中,一个汉字占用两个字节,所以上面的自动化

Berey_diligent的博客 1万+

硅传CC1310二次开发必备:手把手教你用JTAG解锁被锁定的Flash存储器

本文针对硅传CC1310模块二次开发中常见的Flash锁定问题,提供了从原理剖析到实战操作的完整解决方案。详细介绍了如何使用Uniflash和Flash Programmer 2等工具进行Flash解锁和擦除,并强调了硬件连接稳定性与供电质量的关键作用,帮助开发者彻底解决烧录障碍,为后续应用开发铺平道路。

weixin_29189373的博客 252

从STM32转战STC32G?逐飞开源库帮你快速上手GPIO、PWM与ADC(避坑指南)

本文详细介绍了从STM32迁移到STC32G32K128的开发实践,重点解析了GPIO、PWM和ADC等基础外设的设计差异,并提供了基于逐飞开源库的高效应用方案。通过对比两种平台的开发工具和操作方式,帮助开发者快速上手STC32G,避免常见陷阱,提升开发效率。

weixin_30316097的博客 528

java对excel表格操作以及对图片的处理

一,操作Excel表格: 首先 我们需要去下载它的jar包: 点击下载 下载好了之后 我们就导入jar包: 具体步骤: 鼠标选中项目右击 → 最后一项(Properties) → 然后选择(Java Build Path) → 选择第三项(Libraries)→ 选择 Add External JARs… → 选择下载好的 jsx.jar文件,导入即可。 图片如下: 1.创建工作簿: 注: Wr...

qq_43656358的博客 2047

emwin与Modbus通信结合:项目实例

通过实际项目讲解emwin界面设计与Modbus通信协议的融合应用,深入剖析数据交互流程。掌握emwin在工业控制场景中的实用技巧,提升系统人机交互与稳定通信能力。

weixin_34618526的博客 482

java操作excel文件(创建)

1、首先导入jrljjava包 2、创建一个工作簿excel文件,指定文件路径和名称 WritableWorkbook workbook = Workbook.createWorkbook(new File("E:\\学生信息.xls")); 3、创建一个工作表sheet,指定表格名称和序号,第一个表格序号0 WritableSheet sheet = workbook.createSheet("学生信息表", 0); 4、创建一个单元个对象cell,该单元格与表格中的第一行第一列,内容是“学生编

songsonglaila的博客 2856

Windows版MySQL8.4.2LTS解压直用(下载免安装-绿色-项目打包直接使用-含卸载)

安装前运行微软常用运行库全集(也可能称为依赖)关于MySQL8中相关参数配置,可通过。选择8.5.2LTS长期服务版。选中密码,右键会直接复制。

xzzteach的博客 1439

AB脉冲详解(编码器,PLC,上位机)

编码器线有些是用不到的。Z脉冲:360度中,只有1度是输出,输出能力是。编码器实际就是发光二极管,所以电流超过20ma会缩短寿命或损坏。

cfqq1989的博客 1万+

POI操作Excel常用方法总结

一、 POI简介             Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 二、 HSSF概况             HSSF 是Horrible SpreadSheet Format的缩写,通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。H

生命不息 奋斗不止 4508

ADS基础教程20 - 电磁仿真(EM)参数化仿真

一、引言二、参数化设置1.参数定义2.参数赋值3.创建EM模型和符号四、总结1)在Layout视图,菜单栏中选中EMComponent2)在弹出的参数编辑框中,采用标称/扰动()设计。使用子网(Subnetwork)参数。这些方法是互斥的,在为单个组件定义参数时不能将它们组合起来。标称/扰动(Nominal/Perturbed)参数使用平面化布局场景,并且只包含端口和原始图形形状(如多边形、矩形和圆形)时定义。

XZ_ZC的博客 4026

Java操作Excel的一种方法

Java操作Excel的一种方法  MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。作为办公文档,势必要涉及到的电子文档的交换,Excel是一种在企业中非常通用的文件格式,打印和管理也比较方便。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。  在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcel

gubaohua的专栏 3935

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java操作excel方法_java操作Excel的一種方法

Java操作Excel的一種方法bromon原創版權所有MS的電子表格(Excel)是Office的重要成員,是保存統計數據的一種常用格式。作為辦公文檔,勢必要涉及到的電子文檔的交換,Excel是一種在企業中非常通用的文件格式,打印和管理也比較方便。在一個Java應用中,將一部分數據生成Excel格式,是與其他系統無縫連接的重要手段。在開源世界中,有兩套比較有影響的API可供使用,一個是POI,...

weixin_42505252的博客 125

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Java编程操作Excel的一种方法

MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。作为办公文档,势必要涉及到的电子文档的交换,Excel是一种在企业中非常通用的文件格式,打印和管理也比较方便。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。   在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI.其中jExcelAPI是

Java鸟 3498

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: Java中的加密和DSA数字签名
下一篇: Hibernate实战(一)
bromon
博客等级 码龄25年 61粉丝 81原创
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值