[Seasar-user:4032] Re: [S2Unit]Excelのシート名文字数制限で長いテーブル名が入らない。

Yoshihara Hidehiko [E-MAIL ADDRESS DELETED]
2006年 7月 6日 (木) 17:28:31 JST


よしはらといいます。

文字数制限が問題であればOpenOffice.orgのCalcを
使用することで、ほぼ満たせるシートの作成が可能です。

ただ、ピリオドなどの文字制限があります。
その為、スキーマーを使用していた場合は、ピリオドで参照するため
NGです。

結局、ソースをコピーして、独自のXlsReaderを作成してしまいました。


> 久保です。
> 
> S2Unitにおいて
> 
> テストデータ投入でExcelのシート名にテーブル名を定義しますが、
> Excelのシート名文字数制限で長いテーブル名が定義できません。
> (32文字制限!?)
> 
> DBの定義はお客様のもので、変更することができません。
> 
> 
> 他にもこのような状況に遭遇した方がいるかと思いますが、
> 何か対処方法はありますでしょうか?
> また、S2Unitとして正式な対応はできませんでしょうか?
>                            (既にありますでしょうか?)
> 
> 
> 思いついたのは、
> 
> <A>
> 独自のXlsReaderを作って、例えばシート名が「$」始まりの場合は、
> 以下のような定義からテーブル名を引いてくる。
> 
>   $artist = AritstIdentity... (長いテーブル名)
>   $title = TitleIdentity... (長いテーブル名)
> 
> ただ、その場合、XlsReader.createTable()がprivateなので、
> XlsReaderをまるごとコピーして新たなクラスを作らなければならない。
> 
> 
> また、
> 
> <B>
> 独自のXlsReaderを作って(これは一緒だ...)、
> 例えばシート名が「$Table」の場合は、
> 以下のような定義からテーブル名を引いてくる。
> 1行目の1番目のセルをテーブル名として取得する。
> これだと、Aとは違って、Excelの世界だけで解決できる。
> 
> また、
> 
> <C>
> 独自のXlsReaderを作って(一緒)、
> Aで利用するような定義を[$TableMapping]という名前のシートに
> 定義しておいて、シート名が「$」始まりの場合はそれをキー値として
> テーブル名を取得する。
> 
> 
> 
> 
> 
> # S2Unitとして対応が特にないならば、どうしても
> # 独自のXlsReaderを作成することになるので(かもしれないので)、
> # せめてXlsReader.createTable()あたりをprotectedにしてもらいたいです。
> # (.NETの場合は、さらにvirtualを (さらにReadXlsにvirtualを...))
> 
> 
> -- 
> kubo <[E-MAIL ADDRESS DELETED]>




Seasar-user メーリングリストの案内