조잡하지만 전 풀어야 되는 문제이기에 올립니다..
부탁 드리겠습니다.
.xls 파일을 읽을때 공백 앞까지만 읽혀 지네요..
공백이 있더라도 그 공백 뒤에는 분명히 데이타가 있는데 말입니다.
조언 부탁 드리겠습니다..
엑셀의 최대셀값을 공백앞까지만 세어서 그런건지..
잘 모르겠습니다.
꼬옥 고수님들의 고견을 들려 주십시요.. 부탁드리겠습니다.
<!--CodeS-->
cobCharType.Visible := False;
sbtnFileLoad.Visible := False;
pnlSelRead.Visible := False;
OpenDialog1.InitialDir := ExtractFilePath(ParamStr(0));
OpenDialog1.FilterIndex := 2;
if OpenDialog1.Execute then
begin
m_File := OpenDialog1.FileName;
try
ExcelApp := CreateOLEObject('Excel.Application');
except
ShowMessage('Excel이 설치되어 있지 않습니다!!!');
Exit;
end;
Try
ExcelApp.Visible := False;
ExcelApp.DisplayAlerts := False;
ExcelBook := ExcelApp.WorkBooks.Open(m_File);
ExcelBook := ExcelApp.WorkBooks.item[1];
ExcelSheet := ExcelBook.Worksheets.Item[1];
if ExcelSheet.UsedRange.Rows.count > 1 then
stgSMSData.RowCount := ExcelSheet.UsedRange.Rows.count + 1;
if ExcelSheet.Cells.CurrentRegion.Columns.Count > 1 then
stgSMSData.ColCount := ExcelSheet.Cells.CurrentRegion.Columns.Count + 1;
ProgressBar1.Max := ExcelSheet.UsedRange.Rows.count;
ProgressBar1.Visible := True;
for j := 1 to stgSMSData.RowCount - 1 do
begin
for i := 2 to stgSMSData.ColCount - 1 do
begin
if (j = 1) then
begin
stgSMSData.Cells[i ,0] := IntToStr(i);
stgSMSData.ColWidths[i] := 65;
end;
stgSMSData.Cells[i,j] := VarToStr(ExcelSheet.Cells[j,i-1]);
end;
ProgressBar1.Position := j;
end;
ExcelApp.WorkBooks.Close;
ExcelApp.quit;
ExcelApp := unassigned;
Except
on err : exception do
begin
ExcelApp.WorkBooks.Close;
ExcelApp.quit;
ExcelApp := unassigned;
ShowMessage('작업이 취소되었습니다. Data확인요망-'+err.message);
end;
end;
ProgressBar1.Visible := False;
end;
<!--CodeE-->