ExcelTracAddInチケット取得、更新にデータ化け発生
内容 Descriptionの文字数が多いTicketを取得すると、エクセルのセルが"#############・・・"の表示となる。 (内容は保持されており、セルを選択する事で確認できる状態)
この表示の状態にて、更新するとTracのDBに"#############・・・"が書き込まれます。
再現手順 Descriptionの文字数が多いTicketがあるTracに対して 一括取得→特定箇所修正→反映
環境
補足 "#############・・・"を行の高さ変更等の操作で正常に表示させた場合発生しませんでした
エクセルの256文字制限との関連は不明ですが、問題となっているDescriptionはほぼ300文字以上となっています。
レポートをエクセル形式で保存した場合、"#############・・・"表示になりませんでした。
色々なデータで実験したところ、セルの表示設定が"文字列"の場合、
"改行"を含む文字数が256文字以上の時に"#・・・"表示になるようです。
"標準に変更すると正常に表示できます
エクセル側で意図しない表示( 1/4 => 日付形式)を防ぐために 以下の相当する処理を埋め込むのはいかがでしょうか?
Dim rTarget As Range Set rTarget = Range("XX") '処理ターゲットを設定 '256文字以上なる場合、他の形式はほぼないので"G/標準"とする If Len(rTarget.Value) > 255 Then rTarget.NumberFormatLocal = "G/標準" End If
内容
Descriptionの文字数が多いTicketを取得すると、エクセルのセルが"#############・・・"の表示となる。
(内容は保持されており、セルを選択する事で確認できる状態)
この表示の状態にて、更新するとTracのDBに"#############・・・"が書き込まれます。
再現手順
Descriptionの文字数が多いTicketがあるTracに対して 一括取得→特定箇所修正→反映
環境
補足
"#############・・・"を行の高さ変更等の操作で正常に表示させた場合発生しませんでした
エクセルの256文字制限との関連は不明ですが、問題となっているDescriptionはほぼ300文字以上となっています。
レポートをエクセル形式で保存した場合、"#############・・・"表示になりませんでした。