[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 メーリングリストの案内