タイトル | : VBで作ったデータセットをエクセルのシートに貼り付けたい |
記事No | : 11729 |
投稿日 | : 2016/08/25(Thu) 19:31 |
投稿者 | : 耳たぶ黒 |
いつもお世話になってます。超初心者の耳たぶ黒です。 OS:Win10、VBバージョン:VisualStudio 2015pro、Excel2010で作業しています。
やりたい事 VBでCSVデータを読み込んだとき出来るデータセットをエクセルのシートに簡単に 貼り付ける方法はないのでしょうか? やはりレンジを指定してセルに値を入れていく方法しかないのでしょうか。?
以前からVBでCSVデータを読み込んで、フォーム上のデータグリッドビューとチャートで 結果を確認するプログラムは一応できました。 その後の展開で 1、印刷をしたい →フォームの印刷をしたが、画面キャプチャーな質感で綺麗じゃない 2、エクセルで作業したい →ExcelでCSVファイルを開けばいいだけなんですが、作業を一つでも減らせという事なんで...。
上記の2点からテンプレートのExcelシートにデータセットを貼り付けてグラフと表を表示・印刷させたいです。
CSVデータ(例) ********************* 現場,山梨県都留郡 作業者,耳黒 日付,20160805 0,0,0,12:10:15 1,2,2,12:10:16 | 50000,20,55.3,20:10:16 **********************
読込んでいるプログラム ************************************************************************* Dim ds As New DataSet Dim columns As Integer Dim rows As Integer Dim FolderPath As String Dim csvFileName As String '「開く」ダイアログを表示 If OpenFileDialogCsv.ShowDialog() = System.Windows.Forms.DialogResult.OK Then 'ピクチャーボックスに選択したファイル名を指定 FolderPath = IO.Path.GetDirectoryName(OpenFileDialogCsv.FileName)
csvFileName = IO.Path.GetFileName(OpenFileDialogCsv.FileName) TextBox1.Text = FolderPath & "\" & csvFileName End If Using cn As New System.Data.OleDb.OleDbConnection cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FolderPath & ";Extended Properties=""Text;HDR=YES;IMEX=1;FMT=Delimited""" Using da As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM " & csvFileName, cn) da.Fill(ds, "Table1") Chart1.DataSource = ds 'Chart に表示するデータソースを設定 columns = ds.Tables(0).Columns.Count - 1 'データの系列数を取得 rows = ds.Tables(0).Rows.Count
End Using End Using ************************************************************************* dsをそのままExcelのシートに貼り付けたいです。そんな都合のいい話はありませんか?
アドバイス頂けると助かります。
|