This repository has been archived by the owner on Sep 19, 2023. It is now read-only.
/
Form1.vb
55 lines (49 loc) · 2.65 KB
/
Form1.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Imports DevExpress.Spreadsheet
Imports System
Imports System.Data
Imports System.Windows.Forms
Namespace ExternalWorkbookSample
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub btnAddExternalWorkbook_ItemClick(ByVal sender As Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnAddExternalWorkbook.ItemClick
' #Region "#addexternalworkbook"
Dim externalWorkbook As New Workbook()
externalWorkbook.Worksheets(0).Import(CreateDataTable(10), False, 0, 0)
externalWorkbook.Options.Save.CurrentFileName = "ExternalDocument.xlsx"
For Each item As IWorkbook In spreadsheetControl1.Document.ExternalWorkbooks
If item.Options.Save.CurrentFileName = externalWorkbook.Options.Save.CurrentFileName Then
Return
End If
Next item
spreadsheetControl1.Document.ExternalWorkbooks.Add(externalWorkbook)
' #End Region ' #addexternalworkbook
MessageBox.Show(String.Format("The external workbook {0} is added. Now you can reference it.", externalWorkbook.Options.Save.CurrentFileName))
End Sub
Private Sub btnInsertExternalReference_ItemClick(ByVal sender As Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnInsertExternalReference.ItemClick
' #Region "#insertexternalreference"
If spreadsheetControl1.Document.ExternalWorkbooks.Count = 0 Then
MessageBox.Show("Add a workbook to the ExternalWorkbooks collection")
Return
End If
Dim extWorkbook As IWorkbook = DirectCast(spreadsheetControl1.Document.ExternalWorkbooks(0), IWorkbook)
Dim extWorkbookName As String = extWorkbook.Options.Save.CurrentFileName
Dim sFormula As String = String.Format("=[{0}]Sheet1!A1", extWorkbookName)
spreadsheetControl1.Document.Worksheets(0).Cells("A1").Formula = sFormula
' #End Region ' #insertexternalreference
End Sub
Private Function CreateDataTable(ByVal rowCount As Integer) As DataTable
Dim someDT As New DataTable()
For i As Integer = 0 To 4
someDT.Columns.Add("Value" & i.ToString(), GetType(Integer))
Next i
Dim myRand As New Random()
For i As Integer = 0 To rowCount - 1
someDT.Rows.Add(myRand.Next(1, 100), myRand.Next(1, 100), myRand.Next(1, 100), myRand.Next(1, 100), myRand.Next(1, 100))
Next i
Return someDT
End Function
End Class
End Namespace