如題
代碼如下:
var
excelapp:Variant;
i,temp:integer;
key1: oleVariant ;
str:string;
begin
ExcelApp:=CreateOleObject( 'Excel.Application' );
ExcelApp.WorkBooks.Open('c:\1.xls');
ExcelApp.Visible:=true;
ExcelApp.DisplayAlerts:=false;
ExcelApp.worksheets[1].activate;
temp:=0;
for I := 1 to 200 do
begin
str:=ExcelApp.cells[i,1];
if str<>'' then
temp:=temp+1;
end;
ExcelApp.Range['a2:X14'].select;
ExcelApp.selection.Sort(Key1:=ExcelApp.range['h1']);
ExcelApp.ActiveWorkbook.Save;
ExcelApp.Quit;
end;
uj5u.com熱心網友回復:
直接操作EXCEL檔案,造成檔案需保存后,才能退出。保存時還要"確認",最好是讀取EXCEL資料,在內在中排序,再寫入EEXCEL。
如果是生成新的EXCEL檔案,不會出現你的問題。
uj5u.com熱心網友回復:
建議使用第三方控制元件,一快二便捷三占記憶體少。uj5u.com熱心網友回復:
excelapp:=Unassigned;試試呢uj5u.com熱心網友回復:
1.ActiveWorkbook.Save2.ActiveWorkbook.Close;
3.ExcelApp.Quit;
4.ExcelApp:=Unassigned;
uj5u.com熱心網友回復:
謝謝各位!我先試試!在除錯程序中把ExcelApp.selection.Sort(Key1:=ExcelApp.range['h1']);這句屏蔽掉是可以退出的!!!所以比較費解!!
uj5u.com熱心網友回復:
說明排序下在執行中,一般情況下是排序未通過。
uj5u.com熱心網友回復:
排序功能可以的!沒問題!關鍵是range的引數問題!以前編程的時候如果用range[a1,b2]就會出現不能退出!而用range[a1:b2]就可以退出!!uj5u.com熱心網友回復:
Range 引數:range 指定全表,或表的尾部
range[A1:C20] 指定區域
range[A1] 指定位置
uj5u.com熱心網友回復:
visible設為FALSEuj5u.com熱心網友回復:
一般的操作,我一般是將EXCEL匯入CLIENTDATASET的再進行操作uj5u.com熱心網友回復:
這個excelApp.quit關閉不了excel.exe,我之前也遇到過,沒找到解決辦法,不了了之。uj5u.com熱心網友回復:
把這名,拆分為兩句試試 ExcelApp.selection.Sort(Key1:=ExcelApp.range['h1']);Key1:=ExcelApp.range['h1']);
ExcelApp.selection.Sort(Key1);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/53660.html
標籤:數據庫相關
上一篇:delphi 連接oracle11g奇怪問題,不支持聚合函式
下一篇:Jvcl 3.49 xe8 問題
