QA@IT
«回答へ戻る

回答を投稿

こんにちは。
---------------------------------------------------------------------
Dim intRowCount As Integer = 1 '行
For Each drv As DataRowView In DataTable.DefaultView
'列数分だけ処理
Dim intColCount As Integer = 1 '列
For i As Integer = 1 To DefaultView.Table.Columns.Count() Step 1
xlRange = DirectCast(xlSheet.Cells(intRowCount, intColCount), Excel.Range)
xlRange.Value = drv.Item(i - 1)

    '列インクリメント
    intColCount += 1
Next i

'行インクリメント
intRowCount += 1

Next
---------------------------------------------------------------------

原始的ではありますが、
イメージ的には上記のような感じで、ループすれば
データ量が多いときのレスポンスはともかくとして
シートへ対しての出力自体は実現できるかと。
あ、これはDataViewでまわしてます。

もちろんExcelファイルのOpenやら解放やらは
別途必要です。

投稿者:むら

こんにちは。
\---------------------------------------------------------------------
Dim intRowCount As Integer = 1	'行
For Each drv As DataRowView In DataTable.DefaultView
	'列数分だけ処理
	Dim intColCount As Integer = 1 '列
	For i As Integer = 1 To DefaultView.Table.Columns.Count() Step 1
		xlRange = DirectCast(xlSheet.Cells(intRowCount, intColCount), Excel.Range)
		xlRange.Value = drv.Item(i - 1)

		'列インクリメント
		intColCount += 1
	Next i

	'行インクリメント
	intRowCount += 1
Next
\---------------------------------------------------------------------

原始的ではありますが、
イメージ的には上記のような感じで、ループすれば
データ量が多いときのレスポンスはともかくとして
シートへ対しての出力自体は実現できるかと。
あ、これはDataViewでまわしてます。

もちろんExcelファイルのOpenやら解放やらは
別途必要です。


投稿者:むら