delphi 如何读excel到listview中
我就是想把excel 的两列依次读到 listview里面
读取excel 的方法有哪些?(简单实用的)
怎么得到读取的值?
最后那个大神写一个 这个应该不怎么难的。
谢谢了。
[解决办法]
可以用ADO連接。
[解决办法]
是不是没有设置好呀
[解决办法]
设置ADO,还要设置个版本号 网上搜下可以找到的
[解决办法]
1,ADO连接,省事
2,逐行逐列读取并赋值,稍复杂,但是灵活
[解决办法]
读Excel的代码,按你的需要改改就可用
var excelTemp, sheetTemp: OleVariant; try excelTemp := CreateOleObject('Excel.Application'); except Exit; end; excelTemp.WorkBooks.Open(sFileName); sheetTemp := excelTemp.WorkBooks[1].WorkSheets[1]; stmp := Trim(sheetTemp.cells[1, 1]);//需要取的excel表格坐标 if Pos('售票报表', stmp) = 0 then begin Result := -1; Exit; end;
[解决办法]
操作ListView的代码,按你的需求改改吧。
你没有文件,要直接可用的代码可能很难,呵呵。
→增加一行: with ListView1 do begin ListItem:=Items.Add; ListItem.Caption:='第一列内容'; ListItem.SubItems.Add('第二列内容'); end; →清空ListView1: ListView1.Items.Clear; →得到当前被选中行的行的行号以及删除当前行: For i:=0 to ListView1.Items.Count-1 Do If ListView1.Items[i].Selected then //i=ListView1.Selected.index begin ListView1.Items.Delete(i); //删除当前选中行 end; 当然,ListView有OnSelectItem事件,可以判断选择了哪行,用个全局变量把它赋值出来。 →读某行某列的操作: Edit1.Text := listview1.Items[i].Caption; //读第i行第1列 Edit2.Text := listview1.Items[i].SubItems.strings[0]; //读第i行第2列 Edit3.Text := listview1.Items[i].SubItems.strings[1]; //读第i行第3列 以次类推,可以用循环读出整列。 →将焦点上移一行: For i:=0 to ListView1.Items.Count-1 Do If (ListView1.Items[i].Selected) and (i>0) then begin ListView1.SetFocus; ListView1.Items.Item[i-1].Selected := True; end;