锘??xml version="1.0" encoding="utf-8" standalone="yes"?> public class Test
//鍗婅杞叏瑙?br />聽 public static final String BQchange(String QJstr) 聽聽聽聽聽 for(int i=0;i<QJstr.length();i++) //鍏ㄨ杞崐瑙?br />聽 public static final String QBchange(String QJstr) 聽聽聽聽 for(int i=0;i<QJstr.length();i++) } 杈撳嚭緇撴灉涓猴細 HELLO 聽
聽
{
聽public static void main(String [] args)
聽{
聽 String QJstr="HELLO";
聽 String QJstr1="錛譏錛棘錛?;
聽聽聽聽
聽聽聽聽 String result=BQchange(QJstr);
聽聽聽聽 String result1=QBchange(QJstr1);
聽聽聽
聽聽聽聽聽 System.out.println(QJstr+"\n"+result);
聽聽聽聽聽 System.out.println(QJstr1+"\n"+result1);
聽}
聽 {
聽聽聽聽聽 String outStr="";
聽聽聽聽 String Tstr="";
聽聽聽聽 byte[] b=null;
聽聽聽聽聽 {聽聽聽聽
聽聽聽聽聽聽聽 try
聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽 Tstr=QJstr.substring(i,i+1);
聽聽聽聽聽聽聽聽聽 b=Tstr.getBytes("unicode");
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 catch(java.io.UnsupportedEncodingException e)
聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽 e.printStackTrace();
聽聽聽聽聽聽聽 }聽聽聽聽
聽聽
聽聽聽聽聽聽 if (b[3] !=-1)
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽 b[2]=(byte)(b[2]-32);
聽聽聽聽聽聽聽聽 b[3]=-1;
聽聽聽聽聽聽聽聽 try
聽聽聽聽聽聽聽聽 {聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽 outStr=outStr+new String(b,"unicode");
聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽 catch(java.io.UnsupportedEncodingException e)
聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽 e.printStackTrace();
聽聽聽聽聽聽聽聽 }聽聽聽聽聽
聽聽聽聽聽聽 }
聽聽聽聽聽聽 else outStr=outStr+Tstr;
聽聽聽聽 }
聽聽聽
聽聽聽聽 return outStr;
聽 }
聽
聽 {
聽聽聽聽 String outStr="";
聽聽聽聽 String Tstr="";
聽聽聽聽 byte[] b=null;
聽聽聽聽 {聽聽聽聽
聽聽聽聽聽聽 try
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽 Tstr=QJstr.substring(i,i+1);
聽聽聽聽聽聽聽聽 b=Tstr.getBytes("unicode");
聽聽聽聽聽聽 }
聽聽聽聽聽聽 catch(java.io.UnsupportedEncodingException e)
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽 e.printStackTrace();
聽聽聽聽聽聽 }聽聽聽聽
聽聽
聽聽聽聽聽聽 if (b[3] ==-1)
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽 b[2]=(byte)(b[2]+32);
聽聽聽聽聽聽聽聽 b[3]=0;
聽聽聽聽聽聽聽 try
聽聽聽聽聽聽聽 {聽聽聽聽聽聽
聽聽聽聽聽聽聽聽 outStr=outStr+new String(b,"unicode");
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 catch(java.io.UnsupportedEncodingException e)
聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽 e.printStackTrace();
聽聽聽聽聽聽聽 }聽聽聽聽聽
聽聽聽聽聽聽 }
聽聽聽聽聽聽 else outStr=outStr+Tstr;
聽聽聽聽 }
聽聽聽
聽聽聽聽 return outStr;
聽 }
錛譏錛棘錛?br />錛譏錛棘錛?br />HELLO
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=496423
]]>
http://www.tkk7.com/easyjf/
姘歌繙鐨勮埞闀?br />http://www.tkk7.com/buaacaptain/
鍗庡北璁哄墤
http://www.tkk7.com/daxia/
鍘熸枃瑙i噴錛?/strong>
Field Name | Mandatory? | Allowed Values | Allowed Special Characters |
---|---|---|---|
Seconds | YES | 0-59 | , - * / |
Minutes | YES | 0-59 | , - * / |
Hours | YES | 0-23 | , - * / |
Day of month | YES | 1-31 | , - * ? / L W C |
Month | YES | 1-12 or JAN-DEC | , - * / |
Day of week | YES | 1-7 or SUN-SAT | , - * ? / L C # |
Year | NO | empty, 1970-2099 | , - * / |
鎵鏈夋槦鍙峰搴旂殑孌典綅緗紝閮藉彲浠ュ嚭鐜板悗闈㈢殑絎﹀彿錛? - * /錛?
錛? / L C錛夎繖浜涚鍙峰彲浠ュ嚭鐜板湪"涓鏈堝摢澶?鍜?鏄熸湡"孌典綅緗?
錛坵錛夊彧鑳藉嚭鐜板湪"涓鏈堝摢澶?孌典綅緗?
錛?錛夊彧鑳藉嚭鐜板湪"鏄熸湡"孌典綅緗?/p>
瑙i噴絎﹀彿浠h〃鐨勬剰鎬濓細
* 浠h〃浠繪剰鍚堟硶鐨勫瓧孌?
0 * 17 * * ? 錛氳〃紺哄湪姣忓ぉ鐨? PM 鍒?5:59涔嬮棿鐨勬瘡涓鍒嗛挓鍚姩scheduler
? 琛ㄧず娌″艱鎸囧畾
濡傛灉鍚屾椂鎸囧畾"涓鏈堝摢澶?鍜?鏄熸湡"錛屽彲鑳戒袱鑰呭搴斾笉璧鋒潵
0 0,15,30,45 * * * ? 錛氳〃紺烘瘡鍒婚挓鍚姩scheduler
鎵浠ユ帹鑽愮敤娉曟槸鍏朵腑涓涓寚瀹氬鹼紝鍙︿竴涓敤?鎸囧畾
/ 琛ㄧず鏃墮棿鐨勫閲?
0 0/15 * * * ? 錛氳〃紺烘瘡鍒婚挓鍚姩scheduler
- 琛ㄧず鍊肩殑鑼冨洿
0 45 3-8 ? * *
L 濡傛灉鐢ㄥ湪"涓鏈堝摢澶?孌典笂錛岃〃紺轟竴涓湀鐨勬渶鍚庝竴澶╋紱濡傛灉鐢ㄥ湪"鏄熸湡"孌典笂銆傝〃紺轟竴涓槦鏈熺殑鏈鍚庝竴澶╋紙鏄熸湡鍏級
0 0 8 L * ? 錛氳〃紺烘瘡涓湀鏈鍚庝竴澶╃殑8鐐瑰惎鍔╯cheduler
W 琛ㄧず鏈闈犺繎緇欏畾鏃墮棿鐨勪竴澶╋紝錛堝繀欏繪槸鏄熸湡涓鍒版槦鏈熶簲錛?/p>
# 渚嬪 6#3琛ㄧず涓涓湀鐨勭涓変釜鏄熸湡浜?/p>
涓銆侀棶棰樻弿榪?/span>
聽聽聽
璇ラ棶棰樺嚭鐜版槸鍥犱負鍦ㄥ鍑烘枃浠朵箣鍚?/span>
鐢ㄦ埛涓嬭澆鐨勬槸
.csv
鏂囦歡錛屽鏋滅敤鏂囨湰緙栬緫鍣ㄦ墦寮鍙互鏌ョ湅鎵鏈夎褰曪紝浣嗘槸濡傛灉鐢?/span>
excel
鎵撳紑灝卞嚭鐜頒竴涓?/span>
sheet
鏈澶?/span>
6
涓囨潯鐨勮褰曘傚洜姝ゅ氨涓嶅彲浠ヤ嬌鐢ㄤ繚瀛樹負
csv
鏂囦歡鏉ュ疄鐜?/span>
excel
鏂囦歡鐨勪笅杞斤紝闇瑕佷嬌鐢ㄦ柊鐨勬柟寮忓幓瀹炵幇銆?/span>
聽聽聽
濡傛灉浣跨敤
jxl
寮鍙戝寘鍦?/span>
web
鍚庡彴鍘誨垱寤?/span>
Excel
鏂囦歡錛屽鏋滄暟鎹噺姣旇緝澶э紝鍒欑敤鎴烽渶瑕佺瓑寰呭緢闀垮緢闀跨殑鏃墮棿鎵嶅彲浠ヤ笅杞藉埌錛屽洜涓?/span>
jxl
鐨勫浜?/span>
excel
鏂囦歡鐨勬搷浣滈兘鏄璞$駭鐨?/span>
,
鏂囦歡涓瘡涓涓牸瀛愰兘鏄竴涓?/span>
cell
瀵硅薄錛岄渶瑕佸悗鍙板幓
new
銆傛墍浠ヨ繕闇瑕佽冭檻鍒殑鏂瑰紡銆?/span>
聽聽聽
浜屻佸疄鐜扮伒鎰?/span>
聽聽聽 Excel
鏂囦歡鎵撳紑涔嬪悗閫夋嫨鍙﹀瓨涓哄彲浠ヤ繚瀛樹負
XML
綾誨瀷鏂囦歡錛屽洜姝ゅ氨鑰冭檻鏋勯犵鍚?/span>
Excel
鍙互鎵撳紑鐨?/span>
XML
綾誨瀷鏂囦歡錛屽茍涓斿璇?/span>
XML
鏂囦歡榪涜鏈綆鍗曞寲澶勭悊錛屽幓闄?/span>
Excel
鏂囦歡涓殑姣忎釜
cell
鐨?/span>
style
瀹氫箟銆?/span>
XML
鏂囦歡澶撮儴鐨勫浣欎俊鎭紝鏈鍚庢暣鐞嗗嚭涓涓鍚堣祫璁鉤鍙版墍涓嬭澆鐨?/span>
Excel
鏂囦歡鐨勬牸寮?/span>
,
璇風湅涓嬮潰錛?/span>
<!鈥擷ML
鏂囦歡澶撮儴
--//>
<?xml version="1.0"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
聽xmlns:o="urn:schemas-microsoft-com:office:office"
聽xmlns:x="urn:schemas-microsoft-com:office:excel"
聽xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
聽xmlns:html="http://www.w3.org/TR/REC-html40">
<!鈥擡xcel
鏂囦歡絎竴涓?/span>
SHEET --//>
<Worksheet ss:Name="sheet0">
<Table>
<Row>
<Cell><Data ss:Type="String">aa0</Data></Cell>
<Cell><Data ss:Type="String">aa1</Data></Cell>
<Cell><Data ss:Type="String">aa2</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">aa0</Data></Cell>
<Cell><Data ss:Type="String">aa1</Data></Cell>
<Cell><Data ss:Type="String">aa2</Data></Cell>
</Row>
</Table>
</Worksheet>
<!鈥擡xcel
鏂囦歡絎簩涓?/span>
SHEET --//>
<Worksheet ss:Name="sheet1">
<Table>
聽聽聽 <!鈥?
涓琛屾暟鎹?/span>
--//>
<Row>
<Cell><Data ss:Type="String">aa0</Data></Cell>
<Cell><Data ss:Type="String">aa1</Data></Cell>
<Cell><Data ss:Type="String">aa2</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">aa0</Data></Cell>
<Cell><Data ss:Type="String">aa1</Data></Cell>
<Cell><Data ss:Type="String">aa2</Data></Cell>
</Row>
</Table>
</Worksheet>
</Workbook>
<!-- XML
鏂囦歡緇撴潫
--//>
|
娉ㄩ噴錛?/span>
a
銆?/span>
<Worksheet ss:Name="sheet0">聽
寮曞彿鍐呴儴鐨勬槸璇?/span>
sheet
鐨勫悕縐般?/span>
b
銆?/span>
<Data ss:Type="String">aa1</Data> 聽ss:Type
鐨勫兼槸鐢ㄦ潵瀹氫箟璇?/span>
cell
鏍兼暟鎹殑綾誨瀷錛屼緥濡傚彲浠ヤ負
Number,
琛ㄦ槸璇?/span>
cell
鏍兼暟鎹槸鏁板瓧銆?/span>
涓夈佸疄鐜版柟寮?/span>
聽聽聽
閫氳繃絎竴姝ョ殑鍒嗘瀽鍙互鍙戠幇鍙鎴戜滑鏋勫緩榪欐牱鏍煎紡鐨?/span>
XML
鏁版嵁錛屽氨鍙互閫氳繃
Excel
鎵撳紑錛屽茍涓斿彲浠ュ疄鐜板垎
sheet
鐨勬牱寮忋備絾鏄暟鎹笅杞藉埌鐢ㄦ埛鏈湴鏄?/span>
XML
綾誨瀷鐨勮瘽錛岄偅鏄病浠涔堟剰涔夌殑錛屽氨綆楁墦寮鏂瑰紡閫夋嫨浣跨敤
Excel
鍙互鎵撳紑錛屽洜姝ゅ浣曞皢鐢ㄦ埛涓嬭澆鐨勬枃浠剁被鍨嬫敼涓?/span>
XLS
鍛紵榪欓噷灝卞彲浠ラ氳繃鍦ㄤ笅杞界殑
servlet
涓緗?/span>
response.setContentType("application/vnd.ms-excel")
鏉ュ疄鐜般?br />
package com.hoten.util.xmlxls;
import java.util.ArrayList;
聽private final static String XML_HEARDER = "<?xml version=\"1.0\"?>";
聽
聽private List sheetList = new ArrayList(); //瀛樻斁姣忚澶氫釜sheet鐨刲ist
聽
聽/**
聽 * 鍙栧緱workbook鐨剎ml鏂囦歡鐨勫ご閮ㄥ瓧絎︿覆
聽 * @return
聽 */
聽private String getHeader(){聽聽
聽聽return XML_HEARDER +
聽聽聽 "<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\"" + Contants.SEP_N +
聽聽聽 " xmlns:o=\"urn:schemas-microsoft-com:office:office\"" + Contants.SEP_N +
聽聽聽 " xmlns:x=\"urn:schemas-microsoft-com:office:excel\"" +聽 Contants.SEP_N +
聽聽聽 " xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\"" + Contants.SEP_N +
聽聽聽 " xmlns:html=\"http://www.w3.org/TR/REC-html40\">" + Contants.SEP_N ;
聽}聽
聽
聽private String getFoot(){
聽聽return "</Workbook>";
聽}
聽
聽public String toString(){
聽聽StringBuffer strBuff = new StringBuffer();
聽聽
聽聽strBuff.append(getHeader());
聽聽
聽聽int len = sheetList.size();
聽聽for(int i=0;i<len;i++){
聽聽聽WorkSheet sheet = (WorkSheet)sheetList.remove(0);
聽聽聽strBuff.append(sheet.toString());
聽聽聽sheet = null;
聽聽}聽聽
聽聽sheetList.clear();
聽聽
聽聽strBuff.append(getFoot());
聽聽
聽聽return strBuff.toString();
聽}
聽
聽public void addSheet(WorkSheet sheet){
聽聽sheetList.add(sheet);
聽}
聽
聽public void removeSheet(int i){
聽聽sheetList.remove(i);
聽}聽聽
}
package com.hoten.util.xmlxls;
import java.util.ArrayList;
聽
聽private String name = ""; //璇heet鐨刵ame
聽
聽private List rowList = new ArrayList(); //瀛樻斁姣忚澶氫釜row鐨刲ist
聽
聽public String toString(){
聽聽StringBuffer strBuff = new StringBuffer();
聽聽
聽聽strBuff.append("<Worksheet ss:Name=\"" + name + "\">").append(Contants.SEP_N);
聽聽strBuff.append("<Table>").append(Contants.SEP_N);
聽聽
聽聽int len = rowList.size();
聽聽for(int i=0;i<len;i++){
聽聽聽TableRow row = (TableRow)rowList.remove(0);
聽聽聽strBuff.append(row.toString());
聽聽聽row = null;
聽聽}聽聽
聽聽rowList.clear();
聽聽
聽聽strBuff.append("</Table>").append(Contants.SEP_N);
聽聽strBuff.append("</Worksheet>").append(Contants.SEP_N);
聽聽
聽聽return strBuff.toString();
聽}
聽
聽public void addRow(TableRow row){
聽聽rowList.add(row);
聽}
聽
聽public void removeRow(int i){
聽聽rowList.remove(i);
聽}
聽聽return name;
聽}
聽聽this.name = name;
聽}聽
}
package com.hoten.util.xmlxls;
import java.util.ArrayList;
聽
聽
聽public String toString(){
聽聽StringBuffer strBuff = new StringBuffer();
聽聽
聽聽strBuff.append("<Row>").append(Contants.SEP_N);
聽聽int len = cellList.size();
聽聽for(int i=0;i<len;i++){
聽聽聽TableCell cell = (TableCell)cellList.remove(0);
聽聽聽strBuff.append(cell.toString()).append(Contants.SEP_N);
聽聽聽cell = null;聽聽聽
聽聽}
聽聽cellList.clear();
聽聽
聽聽strBuff.append("</Row>").append(Contants.SEP_N);
聽聽
聽聽return strBuff.toString();
聽}聽
聽
聽public void addCell(TableCell cell){
聽聽cellList.add(cell);
聽}
聽
聽public void removeCell(int i){
聽聽cellList.remove(i);
聽}
聽
}
package com.hoten.util.xmlxls;
聽private String index = ""; //cell鍦ㄦ瘡琛屾樉紺虹殑绱㈠紩浣嶇疆,鍙互涓嶅~
聽
聽private CellData data = new CellData(); //cell鐨勬暟鎹璞?/o:p>
聽聽return data;
聽}
聽聽this.data = data;
聽}
聽聽return index;
聽}
聽聽this.index = index;
聽}
聽
聽
聽public String toString(){
聽聽return "<Cell>" + data.toString() + "</Cell>";
聽}
聽
}
package com.hoten.util.xmlxls;
聽private String type = "String"; //cell鏁版嵁綾誨瀷
聽private String value = ""; //cell鏁版嵁
聽
聽public String getType() {
聽聽return type;
聽}
聽public void setType(String type) {
聽聽this.type = type;
聽}
聽public String getValue() {
聽聽return value;
聽}
聽public void setValue(String value) {
聽聽this.value = value;
聽}
聽
聽
聽public String toString(){
聽聽return "<Data ss:Type=\"" + type + "\">" + value + "</Data>";
聽}
}
package com.hoten.util.xmlxls;
聽public final static String SEP_N = "\n";
聽/**
聽 * XML涓父閲忓畾涔?br />聽 */
聽public final static String SS_NAME = "ss:Name";
聽public final static String SS_INDEX = "ss:Index";
聽public final static String SS_TYPE = "ss:Type";
嫻嬭瘯鐨勬柟娉?
PrintWriter out = response.getWriter();
聽聽聽聽聽聽聽聽 // 璁劇疆鍝嶅簲澶村拰涓嬭澆淇濆瓨鐨勬枃浠跺悕
聽聽聽聽聽聽聽聽 response.setContentType("application/vnd.ms-excel");
聽聽聽聽聽聽聽聽 response.setHeader("Content-Disposition","attachment; filename=\""+Chinese.toPage(fileNametemp)+"\"");
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽 String rows_temp = request.getParameter("rows");//欏甸潰浼犺繃鏉ョ殑姣忎釜SHEET鍙互瀛樻斁鐨勬潯鏁?br />聽聽聽if (rows_temp == null){
聽聽聽聽rows_temp = "20000";
聽聽聽}
聽聽聽int count_rows = Integer.parseInt(rows_temp);//涓涓猄HEET鏈夊琛?br />聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽 WorkBook book = new WorkBook();
聽聽聽聽聽聽聽聽 Vector v_Rs = RsToVector.ResultSetToVector(rs);// 鎶奟S鐨勫艱漿鎹㈡垚VECTOR,榪欎釜鍙互鐪嬫垜涓婁竴鐗堟湰,涓婇潰鏈夎緇嗙殑鍐欐硶
聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽 if (v_Rs != null) {
聽聽聽聽int a = v_Rs.size();聽聽聽聽
聽聽聽聽int sheet_count = a / count_rows;// 30000琛屼竴涓猻heet銆?br />聽聽聽聽
聽聽聽聽if (sheet_count >0){//澶т簬0錛屽垯闇瑕佸涓猄HEET
聽聽聽聽聽for (int i = 0;i<sheet_count;i++){
聽聽聽聽聽聽WorkSheet sheet = new WorkSheet();//鍒涘緩涓涓柊鐨凷HEET
聽聽聽聽聽聽sheet.setName("sheet" + i);//璁劇疆SHEET鐨勫悕縐?br />聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽for (int b = i* count_rows ;b<(i+1) * count_rows ;b++){聽聽聽聽聽聽聽
聽聽聽聽聽聽聽//temp_v.add(v_Rs.get(b));
聽聽聽聽聽聽聽Vector temp_v = new Vector();
聽聽聽聽聽聽聽temp_v =(Vector) v_Rs.get(b);聽聽聽聽聽聽聽
聽聽聽聽聽聽聽//鍙栧嚭涓涓璞?鎶婂璞$殑鍊兼斁鍒癊XCEL閲?br />聽聽聽聽聽聽聽TableRow row = new TableRow();//璁劇疆琛屄?br />聽聽聽聽聽聽聽for(int m=0;m<numColumns;m++){
聽聽聽聽聽聽聽聽聽聽 聽聽聽TableCell cell = new TableCell();
聽聽聽聽聽聽聽聽聽聽 聽聽聽CellData data = new CellData();
聽聽聽聽聽聽聽聽聽聽 聽聽聽data.setValue((String)temp_v.get(m));
聽聽聽聽聽聽聽聽聽聽 聽聽聽cell.setData(data);聽聽聽聽聽聽聽聽聽聽 聽聽聽
聽聽聽聽聽聽聽聽聽聽 聽聽聽row.addCell(cell);
聽聽聽聽聽聽聽聽聽聽 聽聽}聽聽聽聽聽聽聽聽聽聽 聽聽
聽聽聽聽聽聽聽聽聽聽 聽聽sheet.addRow(row);
聽聽聽聽聽聽}聽
聽聽聽聽聽聽book.addSheet(sheet);
聽聽聽聽聽}
聽聽聽聽聽//榪樻湁鍓╀綑鐨勬暟鎹?br />聽聽聽聽聽if (sheet_count * count_rows < a){
聽聽聽聽聽聽WorkSheet sheet = new WorkSheet();//鍒涘緩涓涓柊鐨凷HEET
聽聽聽聽聽聽sheet.setName("sheet" + sheet_count);//璁劇疆SHEET鐨勫悕縐?br />聽聽聽聽聽聽聽
聽聽聽聽聽聽for (int c = sheet_count* count_rows ;c<a ;c++){聽聽聽聽聽聽聽
聽聽聽聽聽聽聽Vector temp_vv = new Vector();
聽聽聽聽聽聽聽temp_vv =(Vector) v_Rs.get(c);
聽聽聽聽聽聽聽//鍙栧嚭涓涓璞?鎶婂璞$殑鍊兼斁鍒癊XCEL閲?br />聽聽聽聽聽聽聽TableRow row = new TableRow();//璁劇疆琛?br />聽聽聽聽聽聽聽for(int m=0;m<numColumns;m++){
聽聽聽聽聽聽聽聽聽聽 聽聽聽TableCell cell = new TableCell();
聽聽聽聽聽聽聽聽聽聽 聽聽聽CellData data = new CellData();
聽聽聽聽聽聽聽聽聽聽 聽聽聽data.setValue((String)temp_vv.get(m));
聽聽聽聽聽聽聽聽聽聽 聽聽聽cell.setData(data);聽聽聽聽聽聽聽聽聽聽 聽聽聽
聽聽聽聽聽聽聽聽聽聽 聽聽聽row.addCell(cell);
聽聽聽聽聽聽聽聽聽聽 聽聽}聽聽聽聽聽聽聽聽聽聽 聽聽
聽聽聽聽聽聽聽聽聽聽 聽聽sheet.addRow(row);聽聽聽聽聽聽聽
聽聽聽聽聽聽}
聽聽聽聽聽聽book.addSheet(sheet);聽聽聽聽聽聽聽
聽聽聽聽聽}
聽聽聽聽}else{
聽聽聽聽聽
聽聽聽聽聽
聽聽聽聽聽聽WorkSheet sheet = new WorkSheet();//鍒涘緩涓涓柊鐨凷HEET
聽聽聽聽聽聽sheet.setName("sheet1");//璁劇疆SHEET鐨勫悕縐?br />聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽for (int bb=0聽 ;bb<a ;bb++){聽聽聽聽聽聽聽
聽聽聽聽聽聽聽//temp_v.add(v_Rs.get(b));
聽聽聽聽聽聽聽Vector temp_v = new Vector();
聽聽聽聽聽聽聽temp_v =(Vector) v_Rs.get(bb);聽聽聽聽聽聽聽
聽聽聽聽聽聽聽//鍙栧嚭涓涓璞?鎶婂璞$殑鍊兼斁鍒癊XCEL閲?br />聽聽聽聽聽聽聽TableRow row = new TableRow();//璁劇疆琛屄?br />聽聽聽聽聽聽聽for(int m=0;m<numColumns;m++){
聽聽聽聽聽聽聽聽聽聽 聽聽聽TableCell cell = new TableCell();
聽聽聽聽聽聽聽聽聽聽 聽聽聽CellData data = new CellData();
聽聽聽聽聽聽聽聽聽聽 聽聽聽data.setValue((String)temp_v.get(m));
聽聽聽聽聽聽聽聽聽聽 聽聽聽cell.setData(data);聽聽聽聽聽聽聽聽聽聽 聽聽聽
聽聽聽聽聽聽聽聽聽聽 聽聽聽row.addCell(cell);
聽聽聽聽聽聽聽聽聽聽 聽聽}聽聽聽聽聽聽聽聽聽聽 聽聽
聽聽聽聽聽聽聽聽聽聽 聽聽sheet.addRow(row);
聽聽聽聽聽聽}聽
聽聽聽聽聽聽book.addSheet(sheet);
聽聽聽聽}
聽聽聽聽聽聽聽聽
聽聽聽聽out.print(book.toString());
聽聽聽}
聽聽聽 浠ヤ笂鎷糥ML鐨勬椂鍊欓噸澶嶄唬鐮佹瘮杈冨,鍙互鍐欎竴涓叕鐢ㄧ殑鏂規硶,,鎴戜負浜嗘妸XML鎻忚堪鐨勮緇嗕竴鐐?鎶婅繖浜涢兘灝佽鎴愪簡瀵硅薄,浣嗗湪鎷煎瓧絎︿覆鐨勬椂鍊?瀵硅薄灝變細澶,浠ュ悗濡傛灉鏀圭増鐨勮瘽,鍙互鎶婂畠灝介噺灝佽灝戜竴鐐瑰璞?榪欐牱閫熷害鍙兘浼氬揩涓鐐?鍐呭瓨鍙兘浼氬皯鐢ㄤ竴鐐?
聽
杞?: http://www.tkk7.com/wujiaqian/archive/2006/12/11/86970.html
聽聽聽聽聽聽浠ュ墠鍏徃鍦ㄥ仛涓嬭澆鏁版嵁鐨勬椂鍊?涓昏鏄敤浠ヤ笅榪欑鏂瑰紡錛?br />
聽聽聽聽聽聽response.setContentType("APPLICATION/OCTET-STREAM");
聽聽聽聽聽聽response.setHeader("Content-Disposition", "attachment; filename=\""+ Chinese.toPage(fileName) + "\"");
聽聽聽聽聽聽浣嗚繖鏈変釜涓嶅ソ鐨勫氨鏄畠鍙兘鎵撳紑涓涓狤XCEL鐨勪竴涓伐浣滅翱錛屽鏋滄暟鎹噺闈炲父澶х殑璇濓紝鍚庨潰鐨勬暟鎹細涓㈠け錛屾牴鎹繖涓狟UG錛屾垜閲嶆柊鍋氫簡涓涓姩鎬佺敓鎴怑XCEL宸ヤ綔钖勭殑渚嬪瓙錛屼互鏂逛究鍚庨潰瀵規搴旂敤鐨勬敼閫犮?br />
聽棣栧厛浠庢暟鎹簱閲屽彇鏁版嵁鐨勬椂鍊欙紝涓嶇煡閬撹錛屽垪錛岃繖鏍峰氨闇瑕佷竴涓姩浣滐紝鎶奟S杞崲鎴愪竴涓猇ECTOR錛屾瀵硅薄閲屾瘡涓琛屼篃鏄竴涓猇ECTOR
聽 public static Vector ResultSetToVector(ResultSet rs) {
聽聽聽 try {
聽聽聽聽聽 Vector rows = new Vector();
聽聽聽聽聽 ResultSetMetaData rsmd = rs.getMetaData();
聽聽聽聽聽 Vector columnHeads = new Vector();
聽聽聽聽聽 for (int i = 1; i <= rsmd.getColumnCount(); i++) {
聽聽聽聽聽聽聽 columnHeads.addElement(rsmd.getColumnName(i));
聽聽聽聽聽 }
聽聽聽聽聽 Vector currentRow;
聽聽聽聽聽 while(rs.next()){
聽聽聽聽聽聽聽 currentRow = new Vector();
聽聽聽聽聽聽聽 for (int i = 1; i <= rsmd.getColumnCount(); i++) {
聽聽聽聽聽聽聽聽聽 currentRow.addElement(Chinese.fromDatabase(rs.getString(i)));
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 rows.addElement(currentRow);
聽聽聽聽聽 }
聽聽聽聽聽 return rows;
聽聽聽 }
聽聽聽 catch (Exception err) {
聽聽聽聽聽 Log.printError(err, "", "", log);
聽聽聽聽聽 return null;
聽聽聽 }
聽聽聽 finally{
聽聽聽聽聽 try {
聽聽聽聽聽聽聽 if(rs!=null){
聽聽聽聽聽聽聽聽聽 rs.close();
聽聽聽聽聽聽聽聽聽 rs = null;
聽聽聽聽聽聽聽 }
聽聽聽聽聽 }
聽聽聽聽聽 catch (Exception ex) {
聽聽聽聽聽 }
聽聽聽 }
聽鍐嶉氳繃鍐欎竴涓柟娉曪紝鎶奦ECTOR鐨勫兼斁鍒癊XCEL閲屽幓銆?br />聽聽 ResultSetMetaData rmeta = rs.getMetaData();
聽聽聽int numColumns = rmeta.getColumnCount();//鍙栧灝戣
聽聽聽String fileNametemp = "c:\\"+fileName;
聽聽聽fileNametemp = fileNametemp.substring(0,fileNametemp.lastIndexOf("."))+CTime.getTime(12)+".xls";
聽聽聽
聽聽聽java.io.File file = new java.io.File(fileNametemp);
聽聽聽if (file.exists()) {
聽聽聽聽file.delete();
聽聽聽}
聽聽聽String rows_temp = request.getParameter("rows");//欏甸潰浼犺繃鏉ョ殑姣忎釜SHEET鍙互瀛樻斁鐨勬潯鏁?br />聽聽聽if (rows_temp == null){
聽聽聽聽rows_temp = "20000";// 涓涓〃鍗曢粯璁?0000琛屻?br />聽聽聽}
聽聽聽int count_rows = Integer.parseInt(rows_temp);
聽聽 WritableWorkbook wb = Workbook.createWorkbook(file);
聽聽聽聽聽
聽聽聽聽Vector v_Rs = RsToVector.ResultSetToVector(rs);// 鎶奟S鐨勫艱漿鎹㈡垚VECTOR
聽聽聽boolean fg = true;聽聽聽聽
聽聽聽 if (v_Rs != null) {
聽聽聽聽int a = v_Rs.size();聽聽聽聽
聽聽聽聽int sheet_count = a / count_rows;聽聽聽聽
聽聽聽聽if (sheet_count >0){//澶т簬0錛屽垯闇瑕佸涓猄HEET
聽聽聽聽聽for (int i = 0;i<sheet_count;i++){
聽聽聽聽聽聽Vector temp_v = new Vector();
聽聽聽聽聽聽for (int b = i* count_rows ;b<(i+1) * count_rows ;b++){
聽聽聽聽聽聽聽
聽聽聽聽聽聽聽temp_v.add(v_Rs.get(b));
聽聽聽聽聽聽}聽聽聽聽聽聽
聽聽聽聽聽聽writeExcel(wb,"sheet"+i,temp_v,numColumns,sheet_count);//EXCEL瀵硅薄銆佸崟鍏冭杽鍚嶃佹暟鎹佽鏁般佺鍑犱釜鍗曞厓钖劼犅犅犅犅犅?br />聽聽聽聽聽}聽聽聽聽
聽聽聽聽聽
聽聽聽聽聽if (sheet_count * count_rows < a){//涓嶆槸姝eソ錛岃繕鏈夊墿浣?br />聽聽聽聽聽聽Vector temp_vv = new Vector();
聽聽聽聽聽聽for (int c = sheet_count* count_rows ;c<a ;c++){聽聽聽聽聽聽聽
聽聽聽聽聽聽聽temp_vv.add(v_Rs.get(c));
聽聽聽聽聽聽}
聽聽聽聽聽聽writeExcel(wb,"sheet"+(sheet_count+1),temp_vv,numColumns,sheet_count+1);//EXCEL瀵硅薄銆佸崟鍏冭杽鍚嶃佹暟鎹佽鏁般佺鍑犱釜鍗曞厓钖劼?br />聽聽聽聽聽}
聽聽聽聽}else{
聽聽聽聽聽writeExcel(wb,"sheet"+sheet_count,v_Rs,numColumns,0);//EXCEL瀵硅薄銆佸崟鍏冭杽鍚嶃佹暟鎹佽鏁般佺鍑犱釜鍗曞厓钖劼?br />聽聽聽聽}
聽聽聽聽fg = true;
聽聽聽}else{
聽聽聽聽fg = false;
聽聽聽}
聽聽聽wb.write();
聽聽聽wb.close();
聽聽聽String msgs = "";
聽聽聽PrintWriter out = response.getWriter();
聽聽聽if (fg){
聽聽聽聽msgs = "淇濆瓨鐨勬枃浠跺悕鏄?+fileNametemp;
聽聽聽聽msgs = Chinese.toPage(msgs);聽聽聽聽
聽聽聽}else{
聽聽聽聽msgs = Chinese.toPage("娌℃湁鏁版嵁瀵煎嚭錛?);聽聽聽聽
聽聽聽}
聽聽聽int seg = msgs.indexOf(":");
聽聽聽msgs = msgs.substring(0,seg)+":\\"+msgs.substring(seg+1,msgs.length());
聽聽聽out.println("<script>alert('"+msgs+"');window.close();</script>");
聽聽聽
鍐橢XCLE鐨勬柟娉?br />聽聽聽/**
聽聽聽聽 * 鍐橢xcel鏂囦歡
聽聽聽聽 * @param filepath String
聽聽聽聽 * @param sheetname String聽 宸ヤ綔綈垮悕縐?br />聽聽聽聽 * @param list Vector聽聽 鍐呭
聽聽聽聽 * @param colum int聽聽聽聽 鍒楁暟
聽聽聽聽 * @return boolean
聽聽聽聽 */
聽private boolean writeExcel(WritableWorkbook wb ,String sheetname,
聽聽聽Vector list, int colum,int count) {
聽聽String temp = "";
聽聽String[] s;
聽聽int i = 0;
聽聽try {
聽聽聽if (list == null) {
聽聽聽聽return false;
聽聽聽}
聽聽聽
聽聽聽WritableSheet ws = wb.createSheet(sheetname, count);
聽聽聽if (colum == 1) {
聽聽聽聽while (i != list.size() && list.size() > 0) {
聽聽聽聽聽temp = (String) list.get(i);
聽聽聽聽聽Label labelC = new Label(i, 0, temp);
聽聽聽聽聽ws.addCell(labelC);
聽聽聽聽聽i++;
聽聽聽聽}
聽聽聽} else {
聽聽聽聽while (i != list.size() && list.size() > 0) {
聽聽聽聽聽//s = (String[]) list.get(i);
聽聽聽聽聽Vector tm = (Vector) list.get(i);
聽聽聽聽聽if (tm == null) {
聽聽聽聽聽聽continue;
聽聽聽聽聽} else {
聽聽聽聽聽聽int kk = tm.size();
聽聽聽聽聽聽for (int j = 0; j < kk; j++) {
聽聽聽聽聽聽聽temp = (String)tm.get(j);
聽聽聽聽聽聽聽Label labelC = new Label(j, i, temp);
聽聽聽聽聽聽聽ws.addCell(labelC);
聽聽聽聽聽聽}
聽聽聽聽聽}
聽聽聽聽聽i++;
聽聽聽聽}
聽聽聽}
聽聽} catch (Exception ex) {
聽聽聽Log.printError(ex, "鍐檈xcel鏂囦歡閿欒", "", "writeexcel.log");
聽聽聽return false;
聽聽}
聽聽return true;
聽}
浠ヤ笂鏂規硶涔熸湁涓涓棶棰橈紝灝辨槸褰撶▼搴忓啓100000鏉℃暟鎹互鍚庯紝閫熷害浼氭參涓嬫潵錛屾垜鐪嬩簡WritableWorkbook 鐨勬瀯閫犳柟娉曠殑鏃跺欙紝鍙互鐢熸垚涓涓狾UTPUTSTREAM瀵硅薄鐨勶紝鎴戞兂鍙互鐢ㄨ繖涓潵鍋氾紝閫熷害鍙兘浼氫笂鍘伙紝浣嗗叿浣撲篃娌℃湁璇曪紝濡備綍鏈夊摢浣嶅摜浠瘯榪囦簡錛屾妸鎬ц兘璺熷厔寮熷垎浜竴涓嬶紒璋㈣阿浜嗭紒
杞嚜 : http://www.tkk7.com/wujiaqian/archive/2006/12/08/86269.html
/**
聽* 鎻愪緵浜嗗父鐢ㄧ殑Excel璇誨彇鍜屽啓鍏ョ殑鏂規硶
聽* <p>聽* Title:聽* </p>
聽* <p>聽* Description:聽* </p>
聽* <p>聽* Copyright: Copyright (c) 2006聽* </p>
聽* <p>聽* Company:聽* </p>
聽*聽聽* @author聽wujiaqian聽* @version 1.0
聽*/
public class Excel {
聽int sheetCount = 1; // excel宸ヤ綔綈匡紝榛樿涓?
聽WritableWorkbook wwb = null; // 鏋勫緩Workbook瀵硅薄,鍙Workbook瀵硅薄
聽Vector vSheet = null;
聽/**
聽 * 鏃犲弬鏋勯犲嚱鏁幫紝鐢熸垚榛樿鍚嶅瓧鐨別xcel鏂囦歡
聽 */
聽public Excel() {
聽聽this("noName.excel");
聽}
聽/**
聽 * 甯︽湁涓涓猄tring綾誨瀷鍙傛暟鐨勬瀯閫犲嚱鏁?br />聽 *
聽 * @param fileName
聽 *聽String 灝嗚鐢熸垚鐨別xcel鏂囦歡鍚?br />聽 */
聽public Excel(String fileName) {
聽聽try {
聽聽聽wwb = Workbook.createWorkbook(new File(fileName));
聽聽聽vSheet = new Vector(5);
聽聽} catch (Exception e) {
聽聽}
聽}
聽/**
聽 * 甯︽湁涓涓狥ile綾誨瀷鍙傛暟鐨勬瀯閫犲嚱鏁?br />聽 *
聽 * @param fileName
聽 *聽聽String 灝嗚鐢熸垚鐨別xcel鏂囦歡鍚?br />聽 */
聽public Excel(File file) {
聽聽try {
聽聽聽wwb = Workbook.createWorkbook(file);
聽聽聽vSheet = new Vector(5);
聽聽} catch (Exception e) {
聽聽}
聽}
聽/**
聽 * 璇誨彇涓涓狤XCEL鏂囦歡鐨勬墍鏈夎鍜屽垪,鍦ㄥ悓涓琛屼笂鐨勬暟鎹互涓涓猄tring鐨勫艦寮忎繚瀛樺湪Vector涓?鍚勫垪鏁版嵁浠?,"鍙峰垎鍓?br />聽 *
聽 * @param fileName
聽 *聽聽聽聽聽聽 聽String 鏂囦歡鍚?br />聽 * @throws Exception
聽 * @return Vector
聽 */
聽public static Vector readFromExcel(String fileName) throws Exception {
聽聽Vector v = new Vector();
聽聽File file = new File(fileName);
聽聽if (!file.isFile()) {
聽聽聽return null;
聽聽}
聽聽v = readExl(file, -1, -1);
聽聽return v;
聽}
聽public static Vector readFromExcel(File file) throws Exception {
聽聽Vector v = new Vector();
聽聽if (!file.isFile()) {
聽聽聽return null;
聽聽}
聽聽v = readExl(file, -1, -1);
聽聽return v;
聽}
聽/**
聽 * 璇誨彇涓琛屽鍒楁垨鑰呬竴鍒楀琛?br />聽 *
聽 * @param fileName
聽 *聽聽聽聽聽聽聽聽String 鏂囦歡鍚?br />聽 * @param rowORcol
聽 *聽聽聽聽聽聽聽聽int 絎嚑琛屾垨鑰呯鍑犲垪
聽 * @param flag
聽 *聽聽聽聽聽聽聽聽String ROW琛ㄧず鍓嶉潰涓涓弬鏁扮殑鍊兼寚鐨勬槸琛屾暟錛岃COL琛ㄧず鍓嶉潰涓涓弬鏁扮殑鍊兼寚鐨勬槸鍒楁暟
聽 * @throws Exception
聽 * @return Vector
聽 */
聽public static Vector readFromExcel(String fileName, int rowORcol,
聽聽聽String flag) throws Exception {
聽聽Vector v = new Vector();
聽聽File file = new File(fileName);
聽聽if (!file.isFile()) {
聽聽聽return null;
聽聽}
聽聽if (flag != null && flag.equals("ROW")) {
聽聽聽v = readExl(file, rowORcol, -1);
聽聽} else if (flag != null && flag.equals("COL")) {
聽聽聽v = readExl(file, -1, rowORcol);
聽聽} else {
聽聽聽return null;
聽聽}
聽聽return v;
聽}
聽public static Vector readFromExcel(File file, int rowORcol, String flag)
聽聽聽throws Exception {
聽聽Vector v = new Vector();
聽聽if (!file.isFile()) {
聽聽聽return null;
聽聽}
聽聽if (flag != null && flag.equals("ROW")) {
聽聽聽v = readExl(file, rowORcol, -1);
聽聽} else if (flag != null && flag.equals("COL")) {
聽聽聽v = readExl(file, -1, rowORcol);
聽聽} else {
聽聽聽return null;
聽聽}
聽聽return v;
聽}
聽/**
聽 * 璇誨彇澶氳鎴栬呭鍒?鍙互浠繪剰鎸戦夊嚑琛屾垨鍑犲垪
聽 *
聽 * @param fileName
聽 *聽聽聽聽聽聽聽聽String 鏂囦歡鍚?br />聽 * @param rowORcol
聽 *聽聽聽聽聽聽聽聽int 浠繪剰鐨勮鎴栧垪
聽 * @param flag
聽 *聽聽聽聽聽聽聽聽String ROW琛ㄧず琛孋OL琛ㄧず鍒?br />聽 * @throws Exception
聽 * @return Vector
聽 */
聽public static Vector readFromExcel(String fileName, int[] rowORcol,
聽聽聽String flag) throws Exception {
聽聽Vector v = new Vector();
聽聽return v;
聽}
聽public static Vector readFromExcel(File file, int[] rowORcol, String flag)
聽聽聽throws Exception {
聽聽Vector v = new Vector();
聽聽return v;
聽}
聽/**
聽 * 璇誨彇絎嚑琛岀鍑犲垪鐨勪竴涓暟鎹?br />聽 *
聽 * @param fileName
聽 *聽聽聽聽聽聽聽聽聽聽聽 String
聽 * @param row
聽 *聽聽聽聽聽聽聽聽聽聽聽 int
聽 * @param col
聽 *聽聽聽聽聽聽聽聽聽聽聽 int
聽 * @throws Exception
聽 * @return String
聽 */
聽public static String readFromExcel(String fileName, int row, int col)
聽聽聽throws Exception {
聽聽String res = null;
聽聽File file = new File(fileName);
聽聽if (!file.isFile()) {
聽聽聽return null;
聽聽}
聽聽return res;
聽}
聽public static String readFromExcel(File file, int row, int col)
聽聽聽throws Exception {
聽聽String res = null;
聽聽if (!file.isFile()) {
聽聽聽return null;
聽聽}
聽聽return res;
聽}
聽/**
聽 * 璇誨彇xls鏂囦歡
聽 *
聽 * @param f
聽 *聽聽聽聽聽聽聽聽File 鏂囦歡
聽 * @param row
聽 *聽聽聽聽聽聽聽聽int 璇誨彇浠?鍒皉ow琛?br />聽 * @param col
聽 *聽聽聽聽聽聽聽聽int 璇誨彇浠?鍒癱ol鍒?br />聽 * @throws Exception
聽 * @return Vector
聽 */
聽private static Vector readExl(File f, int row, int col) throws Exception {
聽聽Vector v = new Vector();
聽聽Workbook wb = null;
聽聽Sheet st = null;
聽聽wb = Workbook.getWorkbook(f);
聽聽st = wb.getSheet(0);
聽聽int allRow = st.getRows();
聽聽if (row == -1) {
聽聽聽row = allRow;
聽聽}
聽聽int allCol = st.getColumns();
聽聽if (col == -1) {
聽聽聽col = allCol;
聽聽}
聽聽for (int i = 0; i < row; i++) {
聽聽聽String sRow = null;
聽聽聽for (int j = 0; j < col; j++) {
聽聽聽聽Cell c1 = st.getCell(j, i);
聽聽聽聽String sCol = c1.getContents();
聽聽聽聽if (j == 0) {
聽聽聽聽聽sRow = sCol;
聽聽聽聽} else {
聽聽聽聽聽if (sCol != null) {
聽聽聽聽聽聽sRow = sRow + "," + sCol;
聽聽聽聽聽} else {
聽聽聽聽聽聽sRow = sRow + "," + "";
聽聽聽聽聽}
聽聽聽聽}
聽聽聽聽c1 = null;
聽聽聽聽sCol = null;
聽聽聽}
聽聽聽v.addElement(sRow);
聽聽聽sRow = null;
聽聽}
聽聽st = null;
聽聽wb.close();
聽聽wb = null;
聽聽return v;
聽}
聽public void addSheet() throws Exception {
聽聽addSheet(String.valueOf(sheetCount));
聽}
聽public void addSheet(String sheetName) throws Exception {
聽聽// 鍒涘緩Excel宸ヤ綔琛?br />聽聽WritableSheet ws = wwb.createSheet(sheetName, sheetCount);
聽聽vSheet.addElement(ws);
聽聽sheetCount++;
聽}
聽/**
聽 * 涓哄伐浣滆〃娣誨姞鍐呭,鎸囧畾娣誨姞鍒扮鍑犲垪
聽 *
聽 * @param v
聽 *聽聽聽聽聽聽聽聽Vector 瑕佹坊鍔犲埌宸ヤ綔琛ㄧ殑鍐呭 鏍煎紡
聽 *聽聽聽聽聽聽聽聽String,String,String,String,...,...,...,..., 姣忓垪鍐呭浠ラ楀彿闅斿紑
聽 * @param col
聽 *聽聽聽聽聽聽聽聽int 鎸囧畾鍒楁暟
聽 * @throws Exception
聽 */
聽public void addContent(Vector v, int col) throws Exception {
聽聽WritableSheet ws = (WritableSheet) vSheet.get(sheetCount - 2);
聽聽int size = v.size();
聽聽try {
聽聽聽for (int i = 0; i < size; i++) {
聽聽聽聽String s = (String) v.get(i);
聽聽聽聽String[] s1 = s.split(",");
聽聽聽聽for (int j = 0; j < col; j++) {
聽聽聽聽聽Label label = new Label(j, i, s1[j]);
聽聽聽聽聽ws.addCell(label);
聽聽聽聽聽label = null;
聽聽聽聽}
聽聽聽}
聽聽} catch (ArrayIndexOutOfBoundsException e) {
聽聽聽throw new ArrayIndexOutOfBoundsException("check column!");
聽聽}
聽聽ws = null;
聽}
聽/**
聽 * 涓哄伐浣滆〃娣誨姞鍐呭,涓嶆寚瀹氭坊鍔犲嚑鍒?br />聽 *
聽 * @param v
聽 *聽聽聽聽聽聽聽聽Vector 瑕佹坊鍔犲埌宸ヤ綔琛ㄧ殑鍐呭 鏍煎紡
聽 *聽聽聽聽聽聽聽聽String,String,String,String,...,...,...,..., 姣忓垪鍐呭浠ラ楀彿闅斿紑
聽 * @throws Exception
聽 */
聽public void addContent(Vector v) throws Exception {
聽聽WritableSheet ws = (WritableSheet) vSheet.get(sheetCount - 2);
聽聽int size = v.size();
聽聽try {
聽聽聽for (int i = 0; i < size; i++) {
聽聽聽聽String s = (String) v.get(i);
聽聽聽聽String[] s1 = s.split(",");
聽聽聽聽int col_size = s1.length;
聽聽聽聽for (int j = 0; j < col_size; j++) {
聽聽聽聽聽Label label = new Label(j, i, s1[j]);
聽聽聽聽聽ws.addCell(label);
聽聽聽聽聽label = null;
聽聽聽聽}
聽聽聽}
聽聽} catch (Exception e) {
聽聽聽throw new Exception();
聽聽}
聽聽ws = null;
聽}
聽/**
聽 * 涓哄伐浣滆〃娣誨姞鍐呭,涓嶆寚瀹氭坊鍔犲嚑鍒?br />聽 *
聽 * @param rs
聽 *聽聽聽聽聽聽聽聽ResultSet 浠庢暟鎹簱涓緱鍒扮殑緇撴灉闆?br />聽 * @throws Exception
聽 */
聽public void addContent(ResultSet rs) throws Exception {
聽聽if (rs == null) {
聽聽聽return;
聽聽}
聽聽WritableSheet ws = (WritableSheet) vSheet.get(sheetCount - 2);
聽聽ResultSetMetaData rsMetaD = rs.getMetaData();
聽聽int col = rsMetaD.getColumnCount();
聽聽int i = 0;
聽聽while (rs.next()) {
聽聽聽for (int j = 0; j < col; j++) {
聽聽聽聽Label label = new Label(j, i, rs.getString(j));// Chinese.fromDatabase(rs.getString(j))
聽聽聽聽ws.addCell(label);
聽聽聽聽label = null;
聽聽聽}
聽聽聽i++;
聽聽}
聽}
聽/**
聽 * 鏈緇堢敓鎴恊xcel鏂囦歡
聽 *
聽 * @throws Exception
聽 */
聽public void createExcel() throws Exception {
聽聽wwb.write();
聽聽wwb.close();
聽}
聽public static void main(String[] args) {
聽聽Excel t = new Excel("d:\\test.xls");
聽聽Vector v = new Vector();
聽聽try {
聽聽聽v.addElement("ding,wen,yuan");
聽聽聽v.addElement("ding,wen,yuan");
聽聽聽t.addSheet("first");
聽聽聽t.addContent(v, 3);
聽聽聽v.clear();
聽聽聽v.addElement("xuhy,hai,yong");
聽聽聽v.addElement("xuhy,hai,yong");
聽聽聽t.addSheet("second");
聽聽聽t.addContent(v, 3);
聽聽聽v.clear();
聽聽聽v.addElement("wu,jia,qian");
聽聽聽v.addElement("wu,jia,qian");
聽聽聽t.addSheet("third");
聽聽聽t.addContent(v, 3);
聽聽聽t.createExcel();
聽聽} catch (Exception e) {
聽聽聽e.printStackTrace();
聽聽}
聽}
}
杞嚜:http://www.tkk7.com/wujiaqian/archive/2006/12/21/89308.html?Pending=true#Post