- - PR -
C#から値をExcelに吐き出したとき、小数点以下の桁数を操作したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-03 14:29
はなともうします。
質問させていただきます。 C#より値をExcelに出力したいと思っています。 そのとき、小数点以下の数値を操作したいと思っています。 たとえば、最初から「1.2」といった形のものは、小数点以下第一位まで表示可能ですが、「100」というものは、小数点以下第一位を表示することが出来ません。 どのようにして、C#より出力するときに「100.0」と表示することが可能になりますでしょうか? 初心者で質問内容をキチンと書けているか不安ですので、もし、足らない情報などありましたら、教えてくださると大変助かります。 よろしくお願いいたします。 | ||||
|
投稿日時: 2006-06-03 14:38
NAL-6295です。
Excel側で数値として扱いたいのであれば、 そのセルを参照しているRangeのNumberFormatLocalにフォーマットを定義すれば可能です。 もし、そうでないのなら、 ToStringで加工した値をExcelが文字列として認識できるようにセットしてあげれば良いでしょう。 _________________ 「伝える」とは「人に云う」と書く。 http://d.hatena.ne.jp/NAL-6295/ | ||||
|
投稿日時: 2006-06-03 15:17
既に NAL-6295さんがご回答されていますが、値として渡すという考え方ではなくて、同じ100という値を、どのように表現方法を変えるのか?と考えればわかりやすいです。 見た目だけで良いのなら、文字列として "100.0" と出力しちゃえば良いのです。 | ||||
|
投稿日時: 2006-06-03 16:59
>NAL-6295さん
お返事ありがとうございます。 今、Rangeの使い方を探しています。 この段階からなので、もう少々時間はかかりそうです。。。 >R・田中一郎さん お返事ありがとうございます。 そうですね。 表現方法を変える、というほうが正しい考え方ですね! 私も文字列で出力する、という方法を考えたのですが、出力した後にマクロで計算をしなくてはいけないので、文字列だと駄目だったのです。。。 見た目だけだったら良かったのに、残念です。 アイデアをありがとうございました。 | ||||
|
投稿日時: 2006-06-03 17:16
すみません、そもそも何を使って出力しているのでしょうか? VSTO でしょうか? COM Interop でしょうか? # はずれていたら、Range を調べる意味がなくなってしまいます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-06-05 18:45
じゃんぬねっとさん
お返事ありがとうございます。 私はCOM Interop を利用してExcelに出力しています。 これですと、Rangeを利用する方向で大丈夫なんですよね? | ||||
|
投稿日時: 2006-06-05 19:33
はい、問題ありません。 Excel.Range のインスタンスから可能です。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1