シートの一覧を取得する
よく使いそうなので載せておきます
サンプル
指定されたファイルのシート一覧を取得して、コンボボックスにセットします。
Dim dtSheets As DataTable = Nothing
Private Sub frmXlsCreator6_SheetsCount_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Edit1.Text = My.Computer.FileSystem.SpecialDirectories.MyDocuments & "\vbnetdb_ExcelCreatorSample.xls"
End Sub
Private Sub btnGetSheetName_Click(sender As System.Object, e As System.EventArgs) Handles btnGetSheetName.Click
getSheetList(Edit1.Text)
setSheetsCombo()
End Sub
'''
''' シート名を取得してデータテーブルにセットします
'''
'''
Private Sub getSheetList(ExcelFileNmae As String)
Try
'とりあえずDataTableにセットするため、DataTableの用意
dtSheets = New DataTable
dtSheets.Columns.Add("SheetNo", GetType(Integer))
dtSheets.Columns.Add("SheetName", GetType(String))
'ExcelCreator でファイルを開きます
XlsCr1.OpenBook(ExcelFileNmae, "")
'シート名を取得してDataTableに入れておきます。
For i As Integer = 0 To XlsCr1.SheetCount - 1
Dim drow As DataRow = dtSheets.NewRow
drow.Item("SheetNo") = i
drow.Item("SheetName") = XlsCr1.SheetName2(i).TrimEnd
dtSheets.Rows.Add(drow)
Next
'Excelファイルを閉じます。
XlsCr1.CloseBook(False)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
'''
''' シート名コンボボックスにセットします
'''
'''
Private Sub setSheetsCombo()
Try
If Not IsNothing(dtSheets) Then
Combo1.Items.Clear()
For Each drow As DataRow In dtSheets.Rows
Combo1.Items.Add(drow.Item("SheetName"))
Next
Combo1.SelectedIndex = 0
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
<画面>
こんな感じです。

履歴
- 2015/01/12
- 公開