ワークテーブルのデータをExcelへ出力するには?


はるか  2003-11-22 00:49:01  No: 80521

VB.NETからACCESSのデータを抽出して、それをワークテーブルに保存して、
そのデータをExcelにはきだしたいです。
現状ワークテーブルからExcelへデータをエクスポートすることはできたのですが、
このやりかたでは罫線や合計欄が出力できないため、やり直しとなりました。
人に聞いた話ではまずExcelのテンプレートを作成して、
そこにワークテーブルのデータを流し込むらしいのですが、
いったい何のことなのかさっぱりです。
どなたか方法をご存知の方がいらっしゃいましたら教えてください。

私の環境は
VB.NET2003、ACCESS2000、Excel2002です。
参考になるかどうかわかりませんが、ADOを使用しています。


はるか  2003-11-24 21:06:16  No: 80522

連続して投稿して申し訳ありません。はるかです。
どなたかExcelへ出力する方法はご存知ではないのでしょうか?
Excelへエクスポートできたといっても、Excelシートを仮想
データテーブルとして、SQLで出力しているだけなのです。
これ以外の方法をご存知の方がいらっしゃいましたらぜひ教えて下さい!!


ねろ  2003-11-26 20:29:49  No: 80523

.NETは始まったばかりなのでExcelまでまだ手が回らない
といった所が実情で....(^^;
要するに罫線や題名や色付けがされたテンプレートを用意して
Accessからのデーターをパディングしてリネームするということですか。
Excelの名前取得はボタンになっていますがあらかじめわかっていれば
ファンクションの中に埋め込みます。
    Dim xlApp As New Excel.Application
    Dim books As Excel.Workbooks
    Dim book As Excel.Workbook
    Dim sheets As Excel.Sheets
    Dim sheet As Excel.Worksheet
    Dim range As Excel.Range
    Public Function Test(ByVal FileName As String)
        books = xlApp.Workbooks
        book = books.Open(FileName)
        xlApp.DisplayAlerts = False
        sheets = book.Worksheets
        sheet = CType(sheets(1), Excel.Worksheet)
        'xlApp.Visible = True
        range = sheet.Cells
        'データーの埋め込み例
        Dim n, m As Integer
        For n = 1 To 10
            For m = 1 To 10
                range(n, m) = Str(n) & ":" & Str(m)
            Next
        Next
    End Function
    
    Public Function TestClose(ByVal FileName As String)
        'Excelを閉じる
        sheet.SaveAs(FileName)
        book.Close(False)
        xlApp.DisplayAlerts = True
        xlApp.Quit()
        System.Runtime.InteropServices.Marshal.ReleaseComObject(range)
        System.Runtime.InteropServices.Marshal.ReleaseComObject(sheets)
        System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet)
        System.Runtime.InteropServices.Marshal.ReleaseComObject(books)
        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
        xlApp = Nothing
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click
        'テンプレートのファイルを開く
        OpenFileDialog1.ShowDialog()
        Test(OpenFileDialog1.FileName())
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button2.Click
        'リネームして書き込む
        SaveFileDialog1.ShowDialog()
        TestClose(SaveFileDialog1.FileName())
    End Sub

大体これでうまくいくと思いますがExcelを閉じるところはもっと良い方法があるかも。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加