delphi 如何读excel到listview中

路口xia车 2012-02-10 04:46:39
我就是想把excel 的两列依次读到 listview里面

读取excel 的方法有哪些?(简单实用的)
怎么得到读取的值?


最后那个大神写一个 这个应该不怎么难的。
谢谢了。

...全文
100 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
路口xia车 2012-02-12
  • 打赏
  • 举报
回复
谢谢各位了。。呵呵
lzg827 2012-02-11
  • 打赏
  • 举报
回复
操作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;
lzg827 2012-02-11
  • 打赏
  • 举报
回复
读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;
CS_DNisSB2B 2012-02-10
  • 打赏
  • 举报
回复
1,ADO连接,省事
2,逐行逐列读取并赋值,稍复杂,但是灵活
shxwinner 2012-02-10
  • 打赏
  • 举报
回复
设置ADO,还要设置个版本号 网上搜下可以找到的
山东蓝鸟贵薪 2012-02-10
  • 打赏
  • 举报
回复
是不是没有设置好呀
Oraclers 2012-02-10
  • 打赏
  • 举报
回复
可以用ADO連接。

5,387

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧