- PR -

C# Excelファイル作成時にOutOfMemoryException発生

投稿者投稿内容
じゅーにー
会議室デビュー日: 2007/05/23
投稿数: 10
投稿日時: 2007-05-24 14:44
すいません。直前の私の書き込みの一部を
以下のように訂正します。

誤)本現象は.net側の仕様であり、
正)本現象はExcel側の仕様であり、

宜しくお願いします。

[ メッセージ編集済み 編集者: じゅーにー 編集日時 2007-05-24 14:46 ]
じゅーにー
会議室デビュー日: 2007/05/23
投稿数: 10
投稿日時: 2007-05-24 15:16
名前未記入の方、じゃんぬねっとさん、ご協力ありがとうございました。

質問の途中ですが、お礼を申し上げる機会を逃しそうなので。

とりあえず、以下にまとめます。
間違っていたらご指摘下さい。

**********
* 現象
**********
先頭がハイフンで始まり、文字数が1025文字以上である場合、
mscorlib.dllから例外OutOfMemoryExceptionが返される。

*********
* 原因
*********
エクセルの仕様。
セルに入力する文字列の先頭が、ハイフンで始まっていた場合、その文字列は式として
評価されてしまうが、その時評価される最大文字数が1024文字であるため。

*********
* 暫定対応
*********
セルに入力する文字列の先頭に'(シングルクォーテーション)をいれる等、
式が評価されないようにする。

以上です。
未記入
大ベテラン
会議室デビュー日: 2006/12/15
投稿数: 157
投稿日時: 2007-05-24 15:16
Excel単体で表示形式を文字列にしてもハイフンは数式として扱われるんですね。(1024までしか入らない)
数式での妥当性チェックが入らなくなった時点で文字列として扱われているものと早合点してしまいました。
最初に確認しておけばよかった。_no

勉強になりました。

スキルアップ/キャリアアップ(JOB@IT)