Selamla,
Shee alanı Variant, vermiş olduğunuz "VarToStr" işe yapamadı:((;
Yapmak istediğim şey bir hücrede zaman örnek: 02:30:00 gibi bir değer girilmişse bu değer bozulmadan lisviewe alınacak eğer hücreye bir değer girişilmişse boş olarak listviewe satırlar eklenecek...
Kod: Tümünü seç
const
xlCellTypeLastCell = $0000000B;
var
Kyt: TListItem;
Str: String;
Book: Variant;
Excel, Sheet: Variant;
Kolon, SSay: Integer;
begin
try
Excel := CreateOleObject('Excel.Application');
With TOpenDialog.Create(Nil) do
begin
Filter := 'Excel *.xls,*.xlsx|*.xls;*.xlsx';
FilterIndex := 1;
if Execute then
begin
Book := Excel.WorkBooks.Open(FileName);
Sheet := Book.worksheets[1];
SSay := Excel.ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell,
EmptyParam).Row;
with ListView12 do
begin
Items.BeginUpdate;
try
for Kolon := 1 to SSay do
begin
Screen.Cursor := crHourGlass;
Str := Sheet.Cells[Kolon, 1];
Kyt := Items.Add;
Kyt.Caption := IntToStr(Items.Count);
Kyt.SubItems.Add(Sheet.Cells[Kolon, 1]);
Kyt.SubItems.Add(Sheet.Cells[Kolon, 2]);
Kyt.SubItems.Add(Sheet.Cells[Kolon, 3]);
Kyt.SubItems.Add(Sheet.Cells[Kolon, 4]);
Kyt.SubItems.Add(Null(Sheet.Cells[Kolon, 5]));
Kyt.SubItems.Add(VarToStr(Sheet.Cells[Kolon, 6]));
Kyt.SubItems.Add(VarToStr(Sheet.Cells[Kolon, 7]));