PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
16475 01/10/16 21:16:48 RE(8):Excelファイルについて By ryochan
16466 01/10/15 10:17:36 RE(7):PB5.0.04: saveas関数でexcelに出力した際に文字列が切れる By t_inoue
16463 01/10/13 03:07:02 RE(6):PB5.0.04: saveas関数でexcelに出力した際に文字列が切れる By Taka
16462 01/10/12 20:14:59 RE(5):PB5.0.04: saveas関数でexcelに出力した際に文字列が切れる By M.M
16460 01/10/12 14:53:58 RE(4):PB5.0.04: saveas関数でexcelに出力した際に文字列が切れる By t_inoue
16458 01/10/12 12:52:07 RE(3):PB5.0.04: saveas関数でexcelに出力した際に文字列が切れる By Potato
16457 01/10/12 11:46:03 RE(2):PB5.0.04: saveas関数でexcelに出力した際に文字列が切れる By t_inoue
16456 01/10/12 09:14:28 RE(1):PB5.0.04: saveas関数でexcelに出力した際に文字列が切れる By Potato
16455 01/10/11 17:59:06 PB5.0.04: saveas関数でexcelに出力した際に文字列が切れる By t_inoue

カテゴリ:PowerBuilderの開発環境
日付:2001年10月13日 03:07 発信者:Taka
題名:RE(6):PB5.0.04: saveas関数でexcelに出力した際に文字列が切れる

皆さんこんにちは。

M.Mさん:
>マイクロソフトがExcelファイルのファイルフォーマットを公開したとの情報は聞いたことがありません
>ので(あったらすみません)、PBはMSのモジュールを経由してExcel出力している可能性が高いです。

Excelをインストールしていない環境でも SaveAs(Excel!) は可能です。
少なくともExcelのモジュールは使っていないはずです。
(Windows自体にそういったAPI等があれば別ですけど、私は見たことないです)


t_inoueさん:
>180バイトが格納できる一方で、168バイトで切れてしまうのは、解せないのですが、

Excel形式の内部フォーマットは、各データごとにその桁数情報も同時に格納されています。
この情報は1バイトだけで表現されており、その最大値は16進で\'FF\' つまり10進で255になります。
Excelでいう最大255バイトとは、上記格納方式に依存する制約だと思われます。

180は16進で\'B4\'なので1バイトに納まります。でも680の場合、16進で\'02A8\'になるので1バイトには納まりません。
これを無理に1バイトに入れた結果、上位の\'02\'が無視されて下位の\'A8\'だけが格納されてしまったとすると、
16進の\'A8\'は 10進では168であることがわかります。

180バイトの文字列は問題無いのに、680バイトの文字列が168でカットされるという現象は、
このような理由だと考えられます。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows98
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS Windows NT 4.0
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.