首页

文章

java excel 解析 什么开源工具好

发布网友 发布时间:2022-03-30 11:28

我来回答

4个回答

热心网友 时间:2022-03-30 12:58

JAVA 通常有两种方法来操作Excel,分别是POI和JExcelAPI,而且都是开源的。POI是Apace公司开发的,对中文的支持比较弱一些;而JExcelAPI是韩国公司开发的,不仅对中文的支持好,而且由于是纯JAVA编写的,所以可以跨平台操作。本文介绍的也是JExcelAPI的使用方法。

1、环境配置

如下网址,可以下载到API:http://www.andykhan.com/jexcelapi/download.html

下载完成的包解压之后,可以得到如下几个重要的文件:

(1)jxl.jar —— JExcelAPI 函数库;

(2)docs —— 帮助文档;

(3)src —— 源码文件夹;

将jxl.jar复制到%JAVA_HOME%\jre\ext\文件夹下面,在CLASSPATH变量里面添加"%JAVA_HOME%\jre\ext",然后就可以调用JExcelAPI了。如果出现编译报错“找不到java.jxl包”,则可能是没有设置成功。这时,如果有Eclipse开发工具,可以在"Build Path"中添加"External Library",找到jxl.jar的路径,然后就能编译成功了。

2、Excel基础操作实例

(1) 创建Excel文件

/**读取Excel文件的内容
* @param file 待读取的文件
* @return // 生成Excel的类 */
package createxls;

import java.io.File;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

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

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

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

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

(2)读Excel文件

package readxls;

//读取Excel的类
import java.io.File;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

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

(3)合并单元格、格式化单元格等

//合并单元格并在单元格中输入内容

package additionalproperty;

import java.io.*;
import jxl.write.*;
import jxl.*;

public class MergeCells {
public static void main(String [] args){
try{
WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"));
WritableSheet sheet = book.createSheet("第一页", 0);
sheet.mergeCells(3, 3, 6, 6); //合并单元格

//设置填充内容的格式
WritableFont font = new WritableFont(WritableFont.TIMES, 30, WritableFont.BOLD);
WritableCellFormat format = new WritableCellFormat(font);
format.setAlignment(jxl.format.Alignment.CENTRE); //水平居中
format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); //垂直居中
format.setBackground(jxl.format.Colour.BLUE); //背景颜色和样式
format.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THICK); //边框样式

Label label = new Label(3, 3, "合并", format); //添加内容
sheet.addCell(label);
book.write();
book.close();
}//end try
catch (Exception e){
e.printStackTrace();
}
}
}

(4)添加图片

JExcelAPI对图片的操作有限:它不能生成图表、图片和宏,但是复制工作表时,这些信息可以保留复制。而且当向工作表中添加图片时,只能支持PNG格式的图片。

//在工作表中添加图片

package handleimage;

import java.io.*;
import jxl.*;
import jxl.write.*;

public class CreateImage {
public static void main(String [] args){
try{
WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"));
WritableSheet sheet = book.createSheet("第一页", 0);
WritableImage image = new WritableImage(3.5, 3.5, 4.3, 8.7, //定义图片格式
new File("C:\\Documents and Settings\\Wei Li\\My Documents\\My Pictures\\Water lilies.PNG"));
sheet.addImage(image); //添加图片

book.write();
book.close();
}//end try
catch (Exception e){ e.printStackTrace(); }
}
}

热心网友 时间:2022-03-30 14:16

poi,这是我用的最多的了,导入导出都非常方便

热心网友 时间:2022-03-30 15:50

推荐使用poi,这是用的最多的,导入导出都非常方便。

JAVA 使用POI制作表格,而且都是开源的。POI是Apace公司开发的,对中文的支持比较弱一些;而JExcelAPI是韩国公司开发的,不仅对中文的支持好,而且由于是纯JAVA编写的,所以可以跨平台操作。

HSSFCell cell = row.createCell((short) 0);

//设置此单元格的格式为文本,此句可以省略,Excel会自动识别。

//其他还有几种常用的格式,请参考本文底部的补充部分。

cell.setCellType(HSSFCell.CELL_TYPE_STRING);

//此处是3.0.1版的改进之处,上一版可以直接setCellValue("Hello, World!"),

//但是在3.0.1里,被deprecated了。

cell.setCellValue(new HSSFRichTextString("Hello, World!"));

//创建一个文件输出流,指定到C盘根目录下(C盘都有吧?)

//xls是Excel97-2003的标准扩展名,2007是xlsx,目前的POI能直接生产的还是xls格式,

//如果此处把扩展名改成xlsx,在用Excel2007打开此文件时会报错。

小技巧,快捷操作:可以用鼠标左键选中poi-3.0.1-FINAL-20070705.jar但不松开,拖到任务栏的Eclipse图标上等候1秒左右,Eclipse会自动弹起来,依然不松开移动到lib文件夹上,这个时候鼠标后面跟个十字符号,松开左键,就完成了复制动作。这个是对整个windows系统都好用的快捷复制方式,视源盘符和目标盘符的不同偶尔会用到Ctrl键。

热心网友 时间:2022-03-30 17:42

poi最好,你可以上网找资料试试
360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 微信寄快递怎么取消订单_取消订单方法介绍 300兆宽带用什么路由器好? 请问高分子井盖具体材料有那些?谢谢 井盖骨架有哪些材料 ...一个女主是空姐,她和男主第一次在去巴黎飞机上相遇,约定如果三次... 找一部电影 记得结局是主角上了私人飞机,然后和空姐,可能是情人... 360借条怎么开通? 脚踝系红绳是什么意思 痤疮 痘痘 黑头 粉刺必看的终结绿色治疗 女性脸上有痤疮不能吃皮蛋吗 前事不忘,__ 只可意会,___ 皮之不存,__ __,不为瓦全,__ __,不见泰山... 薪酬:以薪酬战略撬动企业变革内容简介 领先型薪酬策略在实践中的应用 领先型薪酬策略什么是领先型薪酬策略 什么是领先型薪酬策略 第三方支付都有什么 银行用车抵押贷款 雌雄眼的女人不能惹雌雄眼的女人旺夫吗 修缮,与修理的区别 小弟想买一款索尼的笔记本。麻烦各位推荐一下。颜色必须是黑色的,键盘... SONY的笔记本电脑硬盘大概多钱一个 先说谢谢了 sony的笔记本ea38ec 到底用的是什么牌子的内存 尔必达?威刚... 在Sony Style上面买机子,除了鼠标,包,其他东西都全么? 有谁知道SONY的最新最小VGN-UX的笔记本好无好用?介绍下基本功能~!_百度... 怎样让孩子主动找老师补课? 表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 浪琴表带拆解 浪琴的表带怎么拆解 浪琴的表可以换表带吗 浪琴原装表带怎么拆下来 更换浪琴表带 浪琴表带怎么拆卸 浪琴手表表带怎么拆 浪琴换表带怎么换 盐城的特产有哪些? 怎么用电脑连接手机热点 如何禁用笔记本的键盘 常州特色农产品有什么? 文件加密有什么简单的方法吗? 文件夹怎么加密(求简单使用的方法!) 文件怎么加密,目前最简便的电脑文件加密方法 文件夹加密如何用简单的办法设置? 怎样把文件加密?尽量方式简单些! 我的手机没有清理垃圾的该怎么清理垃圾 电脑c盘空间怎么清理 360儿童手表怎么恢复出厂设置? 360儿童卫士3表带坏了哪里买 浪琴手表皮表带在哪里能换? 浪琴表带怎么带图解 关于浪琴表带拆卸, 浪琴手表怎么换表链?还是换那种金属的,需要怎么换? 浪琴手表表带怎么扣 浪琴的表可以换表带吗? 浪琴的手表带怎么打开? 手机上的腾讯视频广告太多,想要去除该怎么去? 手机广告怎么彻底清除 安卓手机广告太多怎么关闭 无痕交代粘在木板墙上怎么弄下来 墙上打了无痕钉但不想要了,怎样把钉子取下来? 贴了无痕胶怎么取下来 墙上的“无痕胶”怎么弄掉? vivox6plus手机垃圾怎么才能清理干净 如何查手机还剩多少流量 红米2怎么查看手机的剩余流量还有多少,是剩余流量 vivo手机怎么查看流量使用情况? 移动手机流量怎么查询使用情况 流量卡如何查询使用情况?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com