delphi的excel操作中的一個問題(急)……
imdt 2002-01-05 08:33:14 我的代碼如下:
procedure TFrm_CheckPerDay.BitBtn_xlsClick(Sender: TObject);
var
EclApp,Workbook:Variant;//聲明為OleAutoMation 對像
xlsFileName,str_temp:string;
i_line:integer;
begin
bitbtn_xls.enabled:=false;
xlsFileName:='\';
xlsFileName:=xlsFileName + Str_Check_Day;
if cb_all.Checked=true then
xlsFileName:=xlsFileName + '_all'
else
xlsFileName:=xlsFileName + '_check';
xlsFileName:=xlsFileName + '.xls';
try
//創建Ole 對像的EXCEL Application 與 Workbook
eclApp:=CreateOLeObject('Excel.Application');
WorkBook:=CreateOleObject('Excel.Sheet');
except
showmessage('您的系統尚未安裝 MicroSoft Excel');
exit;
end;
try
WorkBook:=eclApp.workBooks.add;
// eclapp.columns(5).
// eclapp.range('E1','E200').NumberFormatLocal:='@';//試圖指定列的類型失敗
eclapp.Cells(1,1):='日期';
eclapp.cells(1,2):='時間 ';
eclapp.cells(1,3):='部門';
eclapp.cells(1,4):='姓名';
eclapp.cells(1,5):='號碼';
eclapp.cells(1,6):='時長';
eclapp.cells(1,7):='類型';
i_line:=2;
try
with dm_zj.q_SR do
begin
first;
while not eof do
begin
str_temp:=dm_zj.q_SR.fields[0].asstring;
//showmessage(str_temp);
eclapp.Cells(i_line,1):=str_temp;
str_temp:=dm_zj.q_SR.fields[1].asstring;
//showmessage(str_temp);
eclapp.cells(i_line,2):=str_temp;
str_temp:=dm_zj.q_SR.fields[2].asstring;
//showmessage(str_temp);
eclapp.cells(i_line,3):=str_temp;
str_temp:=dm_zj.q_SR.fields[3].asstring;
//showmessage(str_temp);
eclapp.cells(i_line,4):=str_temp;
str_temp:=dm_zj.q_SR.fields[4].asstring;
// showmessage(str_temp);
// eclapp.cells(i_line,5).NumberFormatLocal:='@';
eclapp.cells(i_line,5):=str_temp;
str_temp:=dm_zj.q_SR.fields[5].asstring;
// showmessage(str_temp);
eclapp.cells(i_line,6):=str_temp;
str_temp:=dm_zj.q_SR.fields[6].asstring;
// showmessage(str_temp);
eclapp.cells(i_line,7):=str_temp;
i_line:=i_line+1;
next;
end;
end;
except
showmessage('寫文件時出錯! ');
end;
Workbook.saveas(xlsfilename);
//Workbook.close;
//Workbook.eclApp.WorkBooks.open(xlsFileName);
Workbook.close;
eclApp.Quit;
eclApp:=Unassigned;
bitbtn_xls.enabled:=false;
showmessage('文件已經成功導出!');
except
Workbook.close;
eclApp.Quit;
eclApp:=Unassigned;
showmessage('導出文件失敗!');
exit;
end;
end;
出現的問題如下:
1、列五是一串電話號碼,當填入excel檔時excel認爲是數字。
如:號碼 01078952653 則顯示為 1078952653
號碼 420123456789369 則顯示為 4.201234E+14
2、按照代碼中的方法指定其類型總是出錯。
3、請問各位ggjj如何將列五指定為字串……