如何得到Excel中有多少行數據? lizhenjia(暴雪):使用worksheet.UsedRange.Rows.Count后编译提示:Method 'UseDRange' Not support by automation object为何? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Row:=XlsApp.Sheets(1).UsedRange.Rows.Count Row:=XlsApp.Sheets(1).UsedRange.Rows.Count 在users中加上comobjworksheet是当前操作的工作表! 代码如下请帮我检查一下:uses ...comobj......procedure Tfrm_LoadData.DataLoad;var XlsApp,XlsSheet: Variant; I,J,k,Row,Col,sRow,sCol: integer; ExcelFile: string; TmpString: String;begin// TableFields; ExcelFile := Trim(Edit1.Text); try if VarIsEmpty(XlsApp) then XlsApp := CreateOleObject('Excel.Application'); XlsSheet := XlsApp.workbooks.open(ExcelFile); Row:=XlsApp.Sheets(1).UsedRange.Rows.Count;//出错行 progressbar1.Step := 1; progressbar1.Position := 0; progressbar1.Max := row; Col := g_col; sRow := 1; sCol := 1; for I := sRow to (sRow + Row) - 1 do begin k := 0; TmpString := ''; ADS_LoadData.open; ADS_LoadData.Append; for J := sCol to (sCol + Col) - 1 do begin TmpString := XlsSheet.ActiveSheet.Cells[I,J].Text; ADS_LoadData.Fields[k].AsString := TmpString; k := k + 1; end; try ADS_LoadData.Post; progressbar1.StepIt; except showmessage('¼Æ¾Ú¾É¤J¤¤Â_,¦³¥i¯à¸ê®Æ­«´_©Îªíµ²ºcÉOExcelÀÉ®×µ²ºc¤£¦P!'); ads_loaddata.Cancel; abort; end; end; Application.MessageBox('¼Æ¾Ú±qExcel¾É¤J¼Æ¾Úªí¦¨¥\!','´£¥Ü',mb_OK + MB_DEFBUTTON1); except Application.MessageBox('¼Æ¾Ú±qExcel¾É¤J¼Æ¾Úªí¤£¦¨¥\!','¿ù»~',mb_OK + MB_DEFBUTTON1); end; XlsSheet.close; XlsApp.Application.quit; XlsApp := Unassigned; XlsSheet := Unassigned;end; 将出错行换成:showmessage(inttostr(XlsApp.workbooks[1].worksheets[1].UsedRange.Rows.Count))! lizhenjia(暴雪):谢谢你的帮助! 求Delphi2007精简版下载 JAVA转变为DELPHI代码 为什么我在DLL中使用TWebBrowser控件后,释放DLL时会很慢,大约要1分钟! parambyname问题 在哪里启动ActiveForm? 怎么手动给控件添加垂直滚动条? 我想在按钮按下时清空DBLOOKUPCOMBOBOX里的内容,但把LISTFIELDINDEX设为-1时不能清空,怎样清空呢? 下载 delphi6 的 地址 关于Thread暂停和唤醒的问题 (付费解决)WebBrowser 自动提交表单 做一个系统日志的线程(100分) 希望今后多多向你们学习
worksheet是当前操作的工作表!
uses
...comobj...
.
.
.
procedure Tfrm_LoadData.DataLoad;
var
XlsApp,XlsSheet: Variant;
I,J,k,Row,Col,sRow,sCol: integer;
ExcelFile: string;
TmpString: String;
begin
// TableFields;
ExcelFile := Trim(Edit1.Text);
try
if VarIsEmpty(XlsApp) then
XlsApp := CreateOleObject('Excel.Application');
XlsSheet := XlsApp.workbooks.open(ExcelFile);
Row:=XlsApp.Sheets(1).UsedRange.Rows.Count;//出错行
progressbar1.Step := 1;
progressbar1.Position := 0;
progressbar1.Max := row;
Col := g_col;
sRow := 1;
sCol := 1;
for I := sRow to (sRow + Row) - 1 do
begin
k := 0;
TmpString := '';
ADS_LoadData.open;
ADS_LoadData.Append;
for J := sCol to (sCol + Col) - 1 do
begin
TmpString := XlsSheet.ActiveSheet.Cells[I,J].Text;
ADS_LoadData.Fields[k].AsString := TmpString;
k := k + 1;
end;
try
ADS_LoadData.Post;
progressbar1.StepIt;
except
showmessage('¼Æ¾Ú¾É¤J¤¤Â_,¦³¥i¯à¸ê®Æ­«´_©Îªíµ²ºcÉOExcelÀÉ®×µ²ºc¤£¦P!');
ads_loaddata.Cancel;
abort;
end;
end;
Application.MessageBox('¼Æ¾Ú±qExcel¾É¤J¼Æ¾Úªí¦¨¥\!','´£¥Ü',mb_OK + MB_DEFBUTTON1);
except
Application.MessageBox('¼Æ¾Ú±qExcel¾É¤J¼Æ¾Úªí¤£¦¨¥\!','¿ù»~',mb_OK + MB_DEFBUTTON1);
end;
XlsSheet.close;
XlsApp.Application.quit;
XlsApp := Unassigned;
XlsSheet := Unassigned;
end;
showmessage(inttostr(XlsApp.workbooks[1].worksheets[1].UsedRange.Rows.Count))!
谢谢你的帮助!