📄 testexcelsvr.java
字号:
import jp.ne.so_net.ga2.no_ji.jcom.excel8.*;
import jp.ne.so_net.ga2.no_ji.jcom.*;
import java.io.File;
import java.util.Date;
/**
僗儗僢僪扨埵偵俠俷俵傪幚峴偡傞僒儞僾儖丅
僗儗僢僪偛偲偵ReleaseManager傪妱傝摉偰偰偄傞丅
*/
class testExcelSvr extends Thread implements Runnable {
// 僗儗僢僪傪 ? 屄娗棟偡傞僋儔僗
static final int THREAD_NUM = 1; // 側偤偐侾埲奜偱偼婓偵僄儔乕偑婲偙傞丅尨場晄柧
static final int REQUESTS = 100;
static testExcelSvr[] list;
public synchronized void run() {
ReleaseManager rm = new ReleaseManager();
try {
System.out.println("EXCEL傪婲摦拞...");
// 偡偱偵棫偪忋偑偭偰偄傞偲丄怴偟偄僂傿儞僪僂偱奐偔丅
ExcelApplication excel = new ExcelApplication(rm);
excel.Visible(true);
ExcelWorkbooks xlBooks = excel.Workbooks();
ExcelWorkbook xlBook = xlBooks.Add(); // 怴偟偄僽僢僋傪嶌惉
// 偡傋偰偺僼傽僀儖傪楍嫇偟偰傒傞
ExcelWorksheets xlSheets = xlBook.Worksheets();
ExcelWorksheet xlSheet = xlSheets.Item(1);
ExcelRange xlRange = xlSheet.Cells();
xlRange.Item(1,1).Value("僼傽僀儖柤" );
xlRange.Item(1,2).Value("僒僀僘" );
xlRange.Item(1,3).Value("嵟廔峏怴擔帪");
xlRange.Item(1,4).Value("僨傿儗僋僩儕");
xlRange.Item(1,5).Value("僼傽僀儖");
xlRange.Item(1,6).Value("撉傒崬傒壜");
xlRange.Item(1,7).Value("彂偒崬傒壜");
// xlRange.Item(1,8).Value("塀偟僼傽僀儖"); // jdk1.2埲崀
File path = new File("./");
String[] filenames = path.list();
for(int i=0; i<filenames.length; i++) {
//System.out.println(files[i]);
File file = new File(filenames[i]);
xlRange.Item(i+2,1).Value( file.getName() ); // 僼傽僀儖柤僷僗柍偟
xlRange.Item(i+2,2).Value( (int)file.length() ); // 僼傽僀儖僒僀僘
xlRange.Item(i+2,3).Value( new Date(file.lastModified()) ); // 嵟廔峏怴擔帪
xlRange.Item(i+2,4).Value( file.isDirectory()?"Yes":"No" ); // 僨傿儗僋僩儕偐丠
xlRange.Item(i+2,5).Value( file.isFile()?"Yes":"No" ); // 僼傽僀儖偐丠
xlRange.Item(i+2,6).Value( file.canRead()?"Yes":"No" ); // 撉傒庢傝壜偐丠
xlRange.Item(i+2,7).Value( file.canWrite()?"Yes":"No" ); // 彂偒崬傒壜偐丠
// xlRange.Item(i+2,8).Value( file.isHidden()?"Yes":"No" ); // 塀偟僼傽僀儖偐丠
}
xlRange.Item(filenames.length+2,1).Value("崌寁");
xlRange.Item(filenames.length+2,2).Formula("=Sum(B2:B"+(filenames.length+1)+")");
xlRange.Columns().AutoFit(); // 墶暆傪僼傿僢僩偝偣傞
xlBook.Close(false,null,false);
excel.Quit();
}
catch(Exception e) { e.printStackTrace(); }
finally { rm.release(); }
// 帺暘偺僗儗僢僪忣曬傪徚偡
for(int i=0; i<THREAD_NUM; i++) {
if(list[i] == this) {
list[i] = null;
break;
}
}
System.out.println("僗儗僢僪廔椆");
}
public static void main(String[] args) {
System.out.println("*** 僒乕僶乕傾僾儕傪憐掕偟偨僒儞僾儖 ***");
System.out.println(""+REQUESTS+"屄偺梫媮傪"+THREAD_NUM+"屄偺僗儗僢僪偱摨帪偵旕摨婜偵張棟偟傑偡丅");
System.out.println("偡傋偰偺張棟傪廔偊傞偺偵丄偟偽傜偔帪娫偑偐偐傝傑偡丅");
//僗儗僢僪儕僗僩傪弶婜壔
list = new testExcelSvr[THREAD_NUM];
for(int i=0; i<THREAD_NUM; i++) {
list[i] = null;
}
for(int count=0; count<REQUESTS; count++) {
// 嬻偒偑偁偭偨傜丄僗儗僢僪傪奐巒
for(int i=0; i<THREAD_NUM; i++) {
if(list[i]==null) {
System.out.println("僗儗僢僪惗惉");
list[i] = new testExcelSvr();
list[i].start();
break; // 1夞偺儖乕僾偵偮偒侾偮惗惉
}
}
try{sleep(1000);}catch(InterruptedException e){} // 1sec
}
// 偡傋偰偺僗儗僢僪偑廔傢傞傑偱懸偮丅
System.out.println("偡傋偰偺僗儗僢僪偑廔傢傞傑偱懸偮丅");
for(;;) {
boolean endflag = true;
for(int i=0; i<THREAD_NUM; i++) {
if(list[i]!=null) {
endflag = false;
}
}
if(endflag) break;
try{sleep(1000);}catch(InterruptedException e){} // 1sec
}
}
}
/*
僒乕僶傾僾儕働乕僔儑儞偺僒儞僾儖丅
僒乕僶傾僾儕働乕僔儑儞偼偙偺傛偆側丄儅儖僠僗儗僢僪傗攔懠張棟傪
峫椂偡傞昁梫偑偁傝傑偡丅攔懠張棟偼丄JCom偺COM傪屇傇僀儞僞乕僼僃乕僗
晹暘偱峴偭偰偄傑偡丅Excel傪暋悢摨帪偵棫偪偁偘傞偙偲偼壜擻偱偡偑丄
巹偑晧壸偺崅偄僥僗僩偟偨偲偙傠丄偨傑偵COM偺屇傃弌偟偑幐攕偟傑偟偨丅
偙偙偱偼丄摨帪偵幚峴偱偒側偄傛偆丄THREAD_NUM傪侾偵偟偰偄傑偡丅
偙偙傪曄峏偡傟偽丄摨帪偵暋悢偺張棟傪暲峴偟偰峴偄傑偡丅
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -