Ticket #21325

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

Open Date: 2010-04-07 13:22 Last Update: 2010-04-07 15:55

Reporter:
Owner:
Type:
Status:
Open [Owner assigned]
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
8
Resolution:
None
File:
None

Details

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

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


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


環境

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


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

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

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

Ticket History (3/3 Histories)

2010-04-07 13:22 Updated by: ma34_s
  • New Ticket "ExcelTracAddInチケット取得、更新にデータ化け発生" created
2010-04-07 13:25 Updated by: kaorun
  • Owner Update from (None) to kaorun
2010-04-07 15:55 Updated by: ma34_s
Comment

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

"改行"を含む文字数が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

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login