Pessoal, alguém me ajude por favor.
Eu preciso manipular alguns arquivos .xls/.xlsx, extrair dados e salvar em um
BD.
Estou usando a seguinte rotina para isso:
function TForm1.XlsToStringGrid(AGrid: TStringGrid; AXLSFile: string): Boolean;
const
xlCellTypeLastCell = $000B;
var
XLApp, Sheet: OLEVariant;
RangeMatrix: Variant;
x, y, k, r, ind: Integer;
begin
ind:= (RadioGroup1.ItemIndex)+1;
Result:=False;
//Cria Excel- OLE Object
XLApp:=CreateOleObject('Excel.Application');
try
//Esconde Excel
XLApp.Visible:=False;
//Abre o Workbook
XLApp.Workbooks.Open(AXLSFile);
XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[ind].Activate;
Sheet:=XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[ind];
Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
//Pegar o número da última linha
x:=XLApp.ActiveCell.Row;
//Pegar o número da última coluna
y:=XLApp.ActiveCell.Column;
//Seta Stringgrid linha e coluna
AGrid.RowCount:=x;
AGrid.ColCount:=y;
//Associaca a variant WorkSheet com a variant do Delphi
RangeMatrix:=XLApp.Range['A1', XLApp.Cells.Item[X, Y]].Value;
//Cria o loop para listar os registros no TStringGrid
k:=1;
repeat
for r:=1 to y do
AGrid.Cells[(r - 1),(k - 1)]:=RangeMatrix[K, R];
Inc(k,1);
until k > x;
RangeMatrix:=Unassigned;
finally
//Fecha o Excel
if not VarIsEmpty(XLApp) then
begin
XLApp.Quit;
XLAPP:=Unassigned;
Sheet:=Unassigned;
Result:=True;
end;
end;
end;
Até aí tudo bem, consigo manipular os dados das células tranquilamente. O meu
problema é que, tem dados que eu preciso extrair que estão como comentários da
célula(é tipo um hint da célula). Alguém sabe como manipular esses comentários?
Obrigado desde já.
Douglas Henrique de Souza
Desenvolvimento de Sistemas (Projetos)
URI - FW
Tel: (55) 3744 - 9236
e-mail alternativo: douglaso...@brturbo.com.br
_
http://clk.atdmt.com/UKM/go/19780/direct/01/
We want to hear all your funny, exciting and crazy Hotmail stories. Tell us now
[As partes desta mensagem que não continham texto foram removidas]