tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルExcelに出力
記事No6939
投稿日: 2008/02/07(Thu) 11:19
投稿者シルフィー
お世話になります。シルフィーと申します。

今回VBよりExcelに値を出力したいと考えております。
ただ出力するだけなら意外と簡単に完成しました。
困っている箇所としては、ExcelのCell書式(数値項目)に少数桁数の書式まで設定して出力したいと思っております。

例えばVBで保持している値が1.00ならばExcel上に1.00を出力とやると
表示上は「1.00→1」と表示されます。それはCellの書式で標準になっているからだと
思い、Cell書式を文字列に変更しました。
結果「1.00→1.00」と表示されます。しかしCell書式を文字列でなく
数値項目として「1.00」と出力したいのです。
これもCellの書式指定で数値項目の少数桁数を設定すればよいだけなのですが、
大量にデータを出力するため、Cell単位に少数桁数の書式を設定していると
時間がかかりすぎます。
全体を指定すればよいかと思われますが、厄介なことに、少数桁数を行単位に設定しなければならないのです。

何か良い方法はないでしょうか?
下記に環境を記述します。
WinXp ProSP2
VB.net2005
OfficeXP
宜しくお願いします。

[ツリー表示へ]
タイトルRe: Excelに出力
記事No6940
投稿日: 2008/02/07(Thu) 12:02
投稿者るしぇ
行単位に設定すれば良いのでは???
Range で好きな範囲を選択できますよ。

[ツリー表示へ]
タイトルRe^2: Excelに出力
記事No6941
投稿日: 2008/02/07(Thu) 12:21
投稿者シルフィー
> 行単位に設定すれば良いのでは???
> Range で好きな範囲を選択できますよ。

行単位に指定すれば実現できますが、行が何万行も出力するので、
処理に時間がかかりすぎてしまうのです。
ちなみに値のみの出力は2次元配列を一括で出力という処理を行っております。
その処理でどうにか数値項目に小数点を有効にした状態で出力できないのでしょうか。

かなり厄介です(>_<)

[ツリー表示へ]
タイトルRe^3: Excelに出力
記事No6942
投稿日: 2008/02/07(Thu) 12:53
投稿者
> 行単位に指定すれば実現できますが、行が何万行も出力するので、
> 処理に時間がかかりすぎてしまうのです。
> ちなみに値のみの出力は2次元配列を一括で出力という処理を行っております。
> その処理でどうにか数値項目に小数点を有効にした状態で出力できないのでしょうか。

出力される列があらかじめ確定しているなら
書式だけ設定したExcelの雛型でも作って
それに書き込み→別名保存でどうでしょう?

[ツリー表示へ]
タイトルRe^4: Excelに出力
記事No6948
投稿日: 2008/02/07(Thu) 21:00
投稿者シルフィー
そうねんですよね!!
僕もそれ考えたのですが、小数点桁数とかは
DBで設定しているのです。
Excelの雛形に書式指定だと2重管理になる駄目なのですよ。
そもそもDBで持つのが失敗のような気もしますが。

[ツリー表示へ]