Excel导入

JAVA 通常有两种方法来操作Excel,分别是POI和JExcelAPI,而且都是开源的。POI是Apace公司开发的,对中文的支持比较弱一些;而JExcelAPI是韩国公司开发的,不仅对中文的支持好,而且由于是纯JAVA编写的,所以可以跨平台操作。本文介绍的也是JExcelAPI的使用方法。 002
003 1、环境配置
004
005 如下网址,可以下载到API:http://www.andykhan.com/jexcelapi/download.html
006
007 下载完成的包解压之后,可以得到如下几个重要的文件:
008
009 (1)jxl.jar —— JExcelAPI 函数库;
010
011 (2)docs —— 帮助文档;
012
013 (3)src —— 源码文件夹;
014
015 将jxl.jar复制到%JAVA_HOME%\jre\ext\文件夹下面,在CLASSPATH变量里面添加"%JAVA_HOME%\jre\ext",然后就可以调用JExcelAPI了。如果出现编译报错“找不到java.jxl包”,则可能是没有设置成功。这时,如果有Eclipse开发工具,可以在"Build Path"中添加"External Library",找到jxl.jar的路径,然后就能编译成功了。
016
017 2、Excel基础操作实例
018
019 (1) 创建Excel文件
020
021 /**读取Excel文件的内容
022 * @param file 待读取的文件
023 * @return // 生成Excel的类 */
024 packagecreatexls;
025
026 import java.io.File;
027
028 import jxl.Workbook;
029 import jxl.write.Label;
030 import jxl.write.WritableSheet;
031 import jxl.write.WritableWorkbook;
032
033 public class CreateXLS {
034 public static void main(String args[]) {
035 try {
036 // 打开文件
037 WritableWorkbook book = Workbook.createWorkbook( new File( " test.xls "));
038 // 生成名为“第一页”的工作表,参数0表示这是第一页
039 WritableSheet sheet = book.createSheet( " 第一页 ", 0);
040 // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
041 // 以及单元格内容为test
042 Label label = new Label( 0, 0, " test ");
043
044 // 将定义好的单元格添加到工作表中
045 sheet.addCell(label);
046
047 // 写入数据并关闭文件
048 book.write();
049 book.close();
050
051 } catch (Exception e) {
052 System.out.println(e);
053 }
054 }
055 }
056
057
058
059 (2)读Excel文件
060
061
062 packagereadxls;
063
064 //读取Excel的类
065 import java.io.File;
066
067 import jxl.Cell;
068 import jxl.Sheet;
069 import jxl.Workbook;
070
071 public class ReadXLS {
072 public static void main(String args[]) {
073 try {
074 Workbook book = Workbook.getWorkbook( new File( " test.xls "));
075 // 获得第一个工作表对象
076 Sheet sheet = book.getSheet( 0);
077 // 得到第一列第一行的单元格
078 Cell cell1 = sheet.getCell( 0, 0);
079 String result = cell1.getContents();
080 System.out.println(result);
081 book.close();
082 } catch (Exception e) {
083 //System.out.println(e);
084 e.printStackTrace();
085 }
086 }
087 }
088
089
090
091
092 (3)合并单元格、格式化单元格等
093
094
095 //合并单元格并在单元格中输入内容
096
097 packageadditionalproperty;
098
099 importjava.io.*;
100 importjxl.write.*;
101 importjxl.*;
102
103 publicclassMergeCells {
104 publicstaticvoidmain(String [] args){
105 try{
106 WritableWorkbook book = Workbook.createWorkbook(newFile("test.xls"));
107 WritableSheet sheet = book.createSheet("第一页", 0);
108 sheet.mergeCells(3, 3, 6, 6); //合并单元格
109
110 //设置填充内容的格式
111 WritableFont font = newWritableFont(WritableFont.TIMES, 30, WritableFont.BOLD);
112 WritableCellFormat format = newWritableCellFormat(font);
113 format.setAlignment(jxl.format.Alignment.CENTRE); //水平居中
114 format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); //垂直居中
115 format.setBackground(jxl.format.Colour.BLUE); //背景颜色和样式
116 format.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THICK); //边框样式
117
118 Label label = newLabel(3, 3, "合并", format); //添加内容
119 sheet.addCell(label);
120 book.write();
121 book.close();
122 }//end try
123 catch(Exception e){
124 e.printStackTrace();
125 }
126 }
127 }
128
129
130
131 (4)添加图片
132
133 JExcelAPI对图片的操作有限:它不能生成图表、图片和宏,但是复制工作表时,这些信息可以保留复制。而且当向工作表中添加图片时,只能支持PNG格式的图片。
134
135
136 //在工作表中添加图片
137
138 packagehandleimage;
139
140 importjava.io.*;
141 importjxl.*;
142 importjxl.write.*;
143
144 publicclassCreateImage {
145 publicstaticvoidmain(String [] args){
146 try{
147 WritableWorkbook book = Workbook.createWorkbook(newFile("test.xls"));
148 WritableSheet sheet = book.createSheet("第一页", 0);
149 WritableImage image = newWritableImage(3.5, 3.5, 4.3, 8.7, //定义图片格式
150 newFile("C:\\Documents and Settings\\Wei Li\\My Documents\\My Pictures\\Water lilies.PNG"));
151 sheet.addImage(image); //添加图片
152
153 book.write();
154 book.close();
155 }//end try
156 catch(Exception e){ e.printStackTrace(); }
157 }
158 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值