Link Search Menu Expand Document

Import From DataSet - VB.NET

Spreadsheet SDK sample in VB.NET demonstrating ‘Import From DataSet’

Module1.vb
Imports System.IO

Module Module1

    Sub Main()
        Const fileName As String = "VBNetImportFromDataSet.xls"

        'Create a new spreadsheet
        Dim spreadsheet As Bytescout.Spreadsheet.Spreadsheet = New Bytescout.Spreadsheet.Spreadsheet

        'Get the data from the 2D array that we want to import
        Dim dataset = GetDataSet()

        'Import data into spreadheet
        spreadsheet.ImportFromDataSet(dataset)

        'Insert row with column captions
        For i As Integer = 0 To dataset.Tables.Count - 1

            Dim dataTable As DataTable = dataset.Tables(i)
            Dim worksheet As Worksheet = spreadsheet.Worksheets(i)

            worksheet.Rows.Insert(0)

            For colIndex As Integer = 0 To dataTable.Columns.Count - 1
                worksheet.Cell(0, colIndex).Value = dataTable.Columns(colIndex).Caption
            Next
        Next

        'Save the spreadsheet
        If (File.Exists(fileName)) Then
            File.Delete(fileName)
        End If
        spreadsheet.SaveAs(fileName)

        'Close spreadsheet
        spreadsheet.Close()

        'Open the spreadsheet
        Process.Start(fileName)

    End Sub

    ''' <summary>
    ''' Returns a dataset containing 2 tables
    ''' </summary>
    ''' <returns>Dataset containing 2 tables</returns>
    Function GetDataSet() As DataSet
        Dim dataSet = New DataSet

        dataSet.Tables.Add(GetDataTableOfElements())
        dataSet.Tables.Add(GetDataTableOfScientists())

        Return dataSet

    End Function

    ''' <summary>
    ''' Creates a data table of the periodic table of elements
    ''' </summary>
    ''' <returns>A data table of the periodic table of elements</returns>
    Function GetDataTableOfElements() As DataTable

        Dim periodicTable = New DataTable("PeriodicTable")
        Dim dr As DataRow

        periodicTable.Columns.Add("Name", GetType(String))
        periodicTable.Columns.Add("Symbol", GetType(String))
        periodicTable.Columns.Add("AtomicNumber", GetType(Integer))

        dr = periodicTable.Rows.Add()
        dr(0) = "Hydrogen"
        dr(1) = "H"
        dr(2) = "1"

        dr = periodicTable.Rows.Add()
        dr(0) = "Helium"
        dr(1) = "He"
        dr(2) = "2"

        dr = periodicTable.Rows.Add()
        dr(0) = "Lithium"
        dr(1) = "Li"
        dr(2) = "3"

        dr = periodicTable.Rows.Add()
        dr(0) = "Beryllium"
        dr(1) = "Be"
        dr(2) = "4"

        dr = periodicTable.Rows.Add()
        dr(0) = "Boron"
        dr(1) = "B"
        dr(2) = "5"

        dr = periodicTable.Rows.Add()
        dr(0) = "Carbon"
        dr(1) = "C"
        dr(2) = "6"

        Return periodicTable
    End Function

    ''' <summary>
    ''' Creates a data table of scientists
    ''' </summary>
    ''' <returns>A datatable of scientists</returns>
    ''' <remarks></remarks>
    Function GetDataTableOfScientists() As DataTable

        Dim scientistsTable = New DataTable("Scientists")
        Dim dr As DataRow

        scientistsTable.Columns.Add("Name", GetType(String))

        dr = scientistsTable.Rows.Add()
        dr(0) = "Antoine Lavoisier"

        dr = scientistsTable.Rows.Add()
        dr(0) = "Julius Lothar Meyer "

        dr = scientistsTable.Rows.Add()
        dr(0) = "Dmitri Ivanovich Mendeleev"

        Return scientistsTable

    End Function

End Module

Resources.Designer.vb
��'------------------------------------------------------------------------------

' <auto-generated>

'     This code was generated by a tool.

'     Runtime Version:4.0.30319.225

'

'     Changes to this file may cause incorrect behavior and will be lost if

'     the code is regenerated.

' </auto-generated>

'------------------------------------------------------------------------------



Option Strict On

Option Explicit On



Imports System



Namespace My.Resources

    

    'This class was auto-generated by the StronglyTypedResourceBuilder

    'class via a tool like ResGen or Visual Studio.

    'To add or remove a member, edit your .ResX file then rerun ResGen

    'with the /str option, or rebuild your VS project.

    '''<summary>

    '''  A strongly-typed resource class, for looking up localized strings, etc.

    '''</summary>

    <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"),  _

     Global.System.Diagnostics.DebuggerNonUserCodeAttribute(),  _

     Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(),  _

     Global.Microsoft.VisualBasic.HideModuleNameAttribute()>  _

    Friend Module Resources

        

        Private resourceMan As Global.System.Resources.ResourceManager

        

        Private resourceCulture As Global.System.Globalization.CultureInfo

        

        '''<summary>

        '''  Returns the cached ResourceManager instance used by this class.

        '''</summary>

        <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)>  _

        Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager

            Get

                If Object.ReferenceEquals(resourceMan, Nothing) Then

                    Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Bytescout.Spreadsheet.Demo.VBNet.ImportFromDataSet.Resources", GetType(Resources).Assembly)

                    resourceMan = temp

                End If

                Return resourceMan

            End Get

        End Property

        

        '''<summary>

        '''  Overrides the current thread's CurrentUICulture property for all

        '''  resource lookups using this strongly typed resource class.

        '''</summary>

        <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)>  _

        Friend Property Culture() As Global.System.Globalization.CultureInfo

            Get

                Return resourceCulture

            End Get

            Set

                resourceCulture = value

            End Set

        End Property

    End Module

End Namespace


Settings.Designer.vb
��'------------------------------------------------------------------------------

' <auto-generated>

'     This code was generated by a tool.

'     Runtime Version:4.0.30319.225

'

'     Changes to this file may cause incorrect behavior and will be lost if

'     the code is regenerated.

' </auto-generated>

'------------------------------------------------------------------------------



Option Strict On

Option Explicit On





Namespace My

    

    <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(),  _

     Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0"),  _

     Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)>  _

    Partial Friend NotInheritable Class MySettings

        Inherits Global.System.Configuration.ApplicationSettingsBase

        

        Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)

        

#Region "My.Settings Auto-Save Functionality"

#If _MyType = "WindowsForms" Then

    Private Shared addedHandler As Boolean



    Private Shared addedHandlerLockObject As New Object



    <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _

    Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)

        If My.Application.SaveMySettingsOnExit Then

            My.Settings.Save()

        End If

    End Sub

#End If

#End Region

        

        Public Shared ReadOnly Property [Default]() As MySettings

            Get

                

#If _MyType = "WindowsForms" Then

               If Not addedHandler Then

                    SyncLock addedHandlerLockObject

                        If Not addedHandler Then

                            AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings

                            addedHandler = True

                        End If

                    End SyncLock

                End If

#End If

                Return defaultInstance

            End Get

        End Property

    End Class

End Namespace



Namespace My

    

    <Global.Microsoft.VisualBasic.HideModuleNameAttribute(),  _

     Global.System.Diagnostics.DebuggerNonUserCodeAttribute(),  _

     Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()>  _

    Friend Module MySettingsProperty

        

        <Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")>  _

        Friend ReadOnly Property Settings() As Global.Bytescout.Spreadsheet.Demo.VBNet.ImportFromDataSet.My.MySettings

            Get

                Return Global.Bytescout.Spreadsheet.Demo.VBNet.ImportFromDataSet.My.MySettings.Default

            End Get

        End Property

    End Module

End Namespace


Download Source Code (.zip)

Return to the previous page Explore Spreadsheet SDK