如何得到一个EXCEL文件中已经使用的行列数?(50分)

  • 主题发起人 主题发起人 wind98
  • 开始时间 开始时间
W

wind98

Unregistered / Unconfirmed
GUEST, unregistred user!
如标题!
 
不知道你是怎么连数据库的?
如果是odbc,就和其它操作数据库一样的。我觉得不管怎么连,都应该也行啊!
我在JSP完全实现了。
 
这和用什么来联数据库有什么关系?
我是想得到某一个Excel文件中到处和数据为行列数,比如:有个a.xls中共有十行记录,
每行记录有10列,我在程序中如果要读这个a.xls文件,并把其中的所有数据保存到数据库
中,就必须知道该文件中有数据的最大行数和列数,这样就可以利用两个循环来读出所有数据,
如下:
procedure TForm1.Button2Click(Sender: TObject);
var
msexcel: olevariant;
wbook, wsheet: olevariant;
i, j: longint;
sTxt: string;
begin
MsExcel := CreateOleObject('Excel.Application');
WBook := MsExcel.Application;
WBook.Visible := False;
WBook.WorkBooks.Open('f:/a.xls');
WSheet := WBook.ActiveSheet;
Table1.Open;
//第一行是用来保存字段名的,所以读数据从第二行开始
for i := 2 to MaxRows do //这里的最大行数MaxRows应该是多少?
begin
Table1.Append;
for j := 1 to MaxColumns do //这里的最大列数MaxColumns应该是多少?
begin
sTxt := WSheet.Cells[i, j].value;
Table1.Fields[j - 1].AsString := sTxt;
// if j > 4 then Break; {测试用}
end;
// if i > 10 then Break; {测试用}
end;
Table1.Post;
Table1.Close;
showmessage('OK');
WBook.Quit;
end;

 
用华表控件
 
ExcelWorksheet1.Cells.Columns.Count //取得列数
 
row:=WorkSheet.UsedRange.Rows.count;
col:=WorkSheet.UsedRange.Columns.Count;
 
多谢linsb!
 
后退
顶部