羅馬不是一天建成的,要寫(xiě)好工具類(lèi)必須要有扎實(shí)的功底和豐富的經(jīng)驗(yàn)。

創(chuàng)新互聯(lián)從2013年成立,先為任縣等服務(wù)建站,任縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為任縣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
寫(xiě)工具類(lèi)首先要考慮工具類(lèi)得功能,要能滿(mǎn)足基本的要求,但又不能有過(guò)多使用次數(shù)不高的方法。其次,要考慮工具類(lèi)得通用性及易用性,工具類(lèi)的使用方法不能太復(fù)雜。最后,不能以工具類(lèi)為中心來(lái)寫(xiě)程序,即所寫(xiě)程序不能為了使用工具類(lèi)而放棄它本來(lái)的結(jié)構(gòu)和方法,而是應(yīng)該考慮是不是可以寫(xiě)一個(gè)更好的工具類(lèi)來(lái)提供程序使用。
工具類(lèi)必須經(jīng)過(guò)很多次的修改最終才能成為想要的工具類(lèi)。
JAVA 通常有兩種方法來(lái)操作Excel,分別是POI和JExcelAPI,而且都是開(kāi)源的。POI是Apace公司開(kāi)發(fā)的,對(duì)中文的支持比較弱一些;而JExcelAPI是韓國(guó)公司開(kāi)發(fā)的,不僅對(duì)中文的支持好,而且由于是純JAVA編寫(xiě)的,所以可以跨平臺(tái)操作。本文介紹的也是JExcelAPI的使用方法。
1、環(huán)境配置
如下網(wǎng)址,可以下載到API:
下載完成的包解壓之后,可以得到如下幾個(gè)重要的文件:
(1)jxl.jar —— JExcelAPI 函數(shù)庫(kù);
(2)docs —— 幫助文檔;
(3)src —— 源碼文件夾;
將jxl.jar復(fù)制到%JAVA_HOME%\jre\ext\文件夾下面,在CLASSPATH變量里面添加"%JAVA_HOME%\jre\ext",然后就可以調(diào)用JExcelAPI了。如果出現(xiàn)編譯報(bào)錯(cuò)“找不到j(luò)ava.jxl包”,則可能是沒(méi)有設(shè)置成功。這時(shí),如果有Eclipse開(kāi)發(fā)工具,可以在"Build Path"中添加"External Library",找到j(luò)xl.jar的路徑,然后就能編譯成功了。
2、Excel基礎(chǔ)操作實(shí)例
(1) 創(chuàng)建Excel文件
/**讀取Excel文件的內(nèi)容
* @param file 待讀取的文件
* @return // 生成Excel的類(lèi) */
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 {
// 打開(kāi)文件
WritableWorkbook book = Workbook.createWorkbook( new File( " test.xls " ));
// 生成名為“第一頁(yè)”的工作表,參數(shù)0表示這是第一頁(yè)
WritableSheet sheet = book.createSheet( " 第一頁(yè) " , 0 );
// 在Label對(duì)象的構(gòu)造子中指名單元格位置是第一列第一行(0,0)
// 以及單元格內(nèi)容為test
Label label = new Label( 0 , 0 , " test " );
// 將定義好的單元格添加到工作表中
sheet.addCell(label);
// 寫(xiě)入數(shù)據(jù)并關(guān)閉文件
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
(2)讀Excel文件
package readxls;
//讀取Excel的類(lèi)
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 " ));
// 獲得第一個(gè)工作表對(duì)象
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)合并單元格、格式化單元格等
//合并單元格并在單元格中輸入內(nèi)容
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("第一頁(yè)", 0);
sheet.mergeCells(3, 3, 6, 6); //合并單元格
//設(shè)置填充內(nèi)容的格式
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); //添加內(nèi)容
sheet.addCell(label);
book.write();
book.close();
}//end try
catch (Exception e){
e.printStackTrace();
}
}
}
(4)添加圖片
JExcelAPI對(duì)圖片的操作有限:它不能生成圖表、圖片和宏,但是復(fù)制工作表時(shí),這些信息可以保留復(fù)制。而且當(dāng)向工作表中添加圖片時(shí),只能支持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("第一頁(yè)", 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(); }
}
}
提交的時(shí)候用SimpleDateFormat類(lèi)轉(zhuǎn)換格式:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
sdf.format(要轉(zhuǎn)換的Date類(lèi)型對(duì)象);
注意format里面的參數(shù)一定是Date類(lèi)型的,如果不是請(qǐng)先用sdf.parse(字符串類(lèi)型值);轉(zhuǎn)換好后在format也行。
文章名稱(chēng):java格式化代碼工具類(lèi) java語(yǔ)言開(kāi)發(fā)工具
新聞來(lái)源:http://chinadenli.net/article46/hhgceg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、移動(dòng)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站導(dǎo)航、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)