ソスソスDelphi Q & Aソスfソスソスソスソス
|
ソスEC/C++
ソスEDelphi
ソスEVisual BasicソスソスソスSソスソス
ソス@(VB2-VB6ソスソス.NETソスソスソスp)
ソスEVisual Basic(VB2-VB6)
ソスEVisual Basic .NET
ソスEVisual C++
ServersソスソスExcelソスソスgソスソスソスソスExcelソスtソス@ソスCソスソスソスソスフセソスソスソスソスヌみ搾ソスソズ包ソスソス@ソスソスソスソスソスソスト会ソスソスソスソスソスソスBDelphiソスフバソス[ソスWソスソスソスソスソスソスDelphi6ProソスナゑソスソスBソスXソスソスソスソスソスソスソス閧「ソスソスソスワゑソスソスB
Serversソスネゑソスト使ソスソスソスソスソスソスソスニ厄ソスソスソスソスソスソスヌ抵ソスソスラてみゑソスソス謔
ソスソスソスソスネ奇ソスソスソスソスソスソスネ?
BDS2006 + XP + XP Office
StringGrid ソスソス Cols ソスA Rows , ColWidths RowHeights ソスソスGソスNソスZソスソスソスソスソスノ搾ソスソスせソスワゑソス
function ExcelToStringGrid(FileName:String;StringGrid:TStringGrid):Boolean;
var
Excel: Variant;
WorkBook: Variant;
WorkSheet: Variant;
Col,Row : Integer;
begin
Result := False;
Excel := CreateOleObject('Excel.Application');
try
WorkBook := Excel.Workbooks.Add;
try
WorkBook :=Excel.WorkBooks.Open(FileName := FileName , readOnly := False);
WorkSheet := WorkBook.WorkSheets[1];
StringGrid.ColCount := WorkSheet.UsedRange.Columns.Count+1;
StringGrid.RowCount := WorkSheet.UsedRange.Rows.Count;
for Col := 1 to WorkSheet.UsedRange.Columns.Count do
begin
StringGrid.ColWidths[Col] := WorkSheet.UsedRange.Columns[Col].Width;
for Row := 1 to WorkSheet.UsedRange.Rows.Count do
begin
StringGrid.Cells[Col,Row] := WorkSheet.Cells[Row,Col].Value;
end;
end;
for Row := 1 to WorkSheet.UsedRange.Rows.Count-1 do
begin
StringGrid.RowHeights[Row] := WorkSheet.UsedRange.Rows[Row].Height;
end;
Result := True;
finally
WorkBook.close;
WorkBook:=unAssigned;
WorkSheet:=unAssigned;
end;
finally
Excel.Quit;
Excel:=unAssigned;
end;
end;
Serversソスgソスソスソストなゑソスソスヒゑソス
KHE00221ソスソスソスソスLソスうソスソスソスソスソスソスワゑソスソスAソスQソスlソスノゑソスソストみまゑソスソスB
ソスCソスソス
StringGrid.RowCount := WorkSheet.UsedRange.Rows.Count;
ソスソス
StringGrid.RowCount := WorkSheet.UsedRange.Rows.Count+1;
ソスNソスソスソスbソスvソス{ソス[ソスhソスソスgソスpソスソスソスソスソスソスソスソスソスソス
procedure ExcelToStringGrid2(const FileName:String;StringGrid:TStringGrid);
var
Excel: Variant;
WorkBook: Variant;
WorkSheet: Variant;
Col,Row : Integer;
ClipBoard : TClipBoard;
StringList : TStringList;
I,J1,J2,J3,I2 : Integer;
S,S2 : String;
begin
Excel := CreateOleObject('Excel.Application');
try
WorkBook := Excel.Workbooks.Add;
try
WorkBook :=Excel.WorkBooks.Open(FileName := FileName , readOnly := False);
WorkSheet := WorkBook.WorkSheets[1];
WorkSheet.Select;
WorkSheet.UsedRange.Copy;
ClipBoard := TClipBoard.Create;
try
ClipBoard.Open;
try
S := ClipBoard.AsText;
StringGrid.ColCount := WorkSheet.UsedRange.Columns.Count+1;
StringGrid.RowCount := WorkSheet.UsedRange.Rows.Count+1;
S2 := StringReplace(S,Char(13),'',[rfReplaceAll]);
S := StringReplace(S2,Char(10),Char(9),[rfReplaceAll]);
for Col := 1 to WorkSheet.UsedRange.Columns.Count do
begin
StringGrid.ColWidths[Col] := WorkSheet.UsedRange.Columns[Col].Width;
end;
for Row := 1 to WorkSheet.UsedRange.Rows.Count-1 do
begin
StringGrid.RowHeights[Row] := WorkSheet.UsedRange.Rows[Row].Height;
end;
I := 1;
for Row := 1 to StringGrid.RowCount-1 do
begin
for Col := 1 to StringGrid.ColCount-1 do
begin
J1 := PosEx(Char(9),S,I);
StringGrid.Cells[Col,Row] := Copy(S,I,J1-I);
I := J1 + 1;
end;
end;
finally
ClipBoard.Close;
end;
finally
ClipBoard.Free;
end;
finally
WorkBook.close;
WorkBook:=unAssigned;
WorkSheet:=unAssigned;
end;
finally
Excel.Quit;
Excel:=unAssigned;
end;
end;
KHE00221ソスソスソスソスAソスxソスXソスソスソスンまゑソスソスソスEソスEソスB