> う〜ん。XBiffでもできると思うんですが。
XWriteBiff.pasを見てみました。
なるほど、できませんね。このコードだと。
そこで、ちょっと追加してみました。もしかしたら、違うというか、他の方法
があるのかも知れませんが、
WindowsXP(SP2) + Delphi7 Pro
で、Excel2000のブックに書き込んだところ、とりあえずはうまくいっている
様です。
追加部分。(1)〜(6)まで全部で6行あります。
(1) function TWriteBiff.DataKind(const Data: string): integer;
if dt[1]='''' then //*****(1)
begin //*****(2)
Result := BLABEL; //*****(3)
exit; //*****(4)
end else //*****(5)
if Pos(dt[1], '-.1234567890') = 0 then
(2) procedure TWriteBiff.WriteCell(Row, Col: integer; rgbAttr: .....
BLABEL:
begin
if Data[1]='''' then Data := Copy(Data,2,Length(Data)); //*****(6)
sLen := Length(Data) and $FF;
xLabel := AllocMem(sLen + 1);
try
StrLCopy(xLabel, PChar(Data), sLen);
WriteLabel(Row, Col, rgbAttr, xLabel);
finally
FreeMem(xLabel);
end;
end;
end;
エクセルからのデータの読み込みですが、元々データそのものが文字列ですから、
OKだと思います。
[備考]
修正後にコンポを再登録(再インストール)する必要はありません。
|