チケット #21325

ExcelTracAddInチケット取得、更新にデータ化け発生

登録: 2010-04-07 13:22 最終更新: 2010-04-07 15:55

報告者:
担当者:
チケットの種類:
状況:
オープン [担当者決定済み]
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
8
解決法:
なし
ファイル:
なし

詳細

内容
Descriptionの文字数が多いTicketを取得すると、エクセルのセルが"#############・・・"の表示となる。
(内容は保持されており、セルを選択する事で確認できる状態)

この表示の状態にて、更新するとTracのDBに"#############・・・"が書き込まれます。


再現手順
Descriptionの文字数が多いTicketがあるTracに対して 一括取得→特定箇所修正→反映


環境

  • Client:WinXP-SP3 + Office2003 Standard + ExcelTracAddIn1.2.1
  • Server:WinXP-SP3 + TracLighting2.4.0


補足
"#############・・・"を行の高さ変更等の操作で正常に表示させた場合発生しませんでした

エクセルの256文字制限との関連は不明ですが、問題となっているDescriptionはほぼ300文字以上となっています。

レポートをエクセル形式で保存した場合、"#############・・・"表示になりませんでした。

チケットの履歴 (3 件中 3 件表示)

2010-04-07 13:22 更新者: ma34_s
  • 新しいチケット "ExcelTracAddInチケット取得、更新にデータ化け発生" が作成されました
2010-04-07 13:25 更新者: kaorun
  • 担当者(未割り当て) から kaorun に更新されました
2010-04-07 15:55 更新者: ma34_s
コメント

色々なデータで実験したところ、セルの表示設定が"文字列"の場合、

"改行"を含む文字数が256文字以上の時に"#・・・"表示になるようです。

"標準に変更すると正常に表示できます

エクセル側で意図しない表示( 1/4 => 日付形式)を防ぐために 以下の相当する処理を埋め込むのはいかがでしょうか?

  1. Dim rTarget As Range
  2. Set rTarget = Range("XX") '処理ターゲットを設定
  3. '256文字以上なる場合、他の形式はほぼないので"G/標準"とする
  4. If Len(rTarget.Value) > 255 Then
  5. rTarget.NumberFormatLocal = "G/標準"
  6. End If

添付ファイルリスト

添付ファイルはありません

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする