-->
Windows Blue Free | Menyederhanakan manajemen Kekuasaan View Template Excel dengan menggunakan VSTO add-in
Tutorial hari ini dibawa kepada kami oleh MVP Dennis Wallentin, yang telah mengembangkan solusi bisnis Excel sejak 1980-an. Dia adalah pendiri XL-Dennis, penulis berbagai artikel untuk MSDN dan publikasi teknologi Swedia, dan co-penulis buku teks Excel.
Salah satu pilar dalam pembangunan Excel profesional modern adalah penggunaan template. Dengan menggunakan satu atau lebih template, kami menyediakan pendekatan struktural untuk pengguna akhir untuk memperoleh, menyimpan dan menyajikan data. Dari sudut pandang pembangunan, keuntungan utama adalah bahwa kita menyederhanakan pemeliharaan.
Fokus untuk artikel ini adalah untuk menunjukkan bagaimana kita dapat menyederhanakan pengelolaan View Template Daya dengan menggunakan VSTO add-in.
Apa Daya View?
Versi baru dari Excel saat ini setara dengan alat-alat baru untuk Business Intelligence (BI) Self-Service. Latar belakang adalah bahwa sekarang kita bekerja lebih dan lebih dengan set data yang lebih besar, dan untuk mendapatkan wawasan, bentuk-bentuk baru laporan menjadi perlu. Dengan Excel 2010, alat Pivot Daya dirilis. Sekarang dengan Excel 2013, View alat Daya dirilis.
Singkatnya, daya View adalah:
Sebuah BI desain alat Self-Service baru.
Sangat membantu dalam membuat laporan interaktif.
Berguna untuk kedua laporan ad hoc serta bagian dari sistem pelaporan yang lebih terstruktur.
Sebuah desain alat berbobot ringan relatif terhadap PP.
Mampu menggunakan PP sebagai sumber data untuk laporan, antara sumber data lainnya.
Sebelum pergi ke detail untuk membahas Daya Lihat sendiri, biarkan saya menunjukkan bahwa kedua dua alat ini telah berhasil diterapkan di Microsoft SQL Server dan Microsoft SharePoint sebelum mereka dibebaskan di Excel. Dengan kata lain, daya View teruji dan dapat diandalkan.
Daya View adalah add-in dikirimkan dengan Excel 2013. Untuk mengaktifkannya:
Pilih tab DEVELOPER.
Klik tombol COM Add-ins.
Periksa opsi Daya View sebagai menunjukkan screenshot berikut:
Ketika Power View diaktifkan kita dapat menemukan tombol di bawah tab INSERT sebagai screenshot di bawah ini juga menunjukkan:
Ketika kita klik tombol Power View, Excel 2013 menciptakan Power kosong Lihat Laporan lembaran baru, seperti gambar dibawah ini:
Ketika kita telah mengisi Power Lihat Laporan lembar dengan data dan daftar tersebut dipilih, tab Ribbon baru tersedia. Screenshot berikut menunjukkan isinya:
Data
Data yang akan kita gunakan untuk contoh ini awalnya disimpan dalam SQL Server 2012 Database. Pengguna, XL-Dennis, telah membatasi akses ke data produksi database. Dalam rangka untuk mengambil data kita menggunakan string koneksi berikut:
"Data Source = DenWal, Initial Catalog = AdventureWorks2012, User ID = XLDennis, Password = rahasia"
The VSTO add-in
The VSTO add-in yang akan kita gunakan dalam konteks ini melayani dua tujuan: untuk membuka salinan Workbook Template dan untuk mengisi lembar kerja dengan data.
Menciptakan VSTO add-in adalah proses yang mudah:
Mulai Microsoft Visual Studio 2012.
Pada Start Page, pilih New Project pilihan.
Di kolom kiri dalam dialog, menavigasi melalui Dipasang> Template> Visual Basic> Kantor / SharePoint> Kantor Add-ins.
Pilih Excel 2013 add-dalam template dan beri nama PVData.
Seperti yang Anda lihat, VSTO add-in template yang menggunakan versi 4.5 dari NET. Kerangka.
The VSTO add-dalam template set referensi ke beberapa kelas, termasuk Kantor Interop Excel dan kelas serta kelas VSTO, yang menunjukkan screenshot berikut:
Di VSTO add-dalam template juga menciptakan daftar prasyarat untuk menjalankan diciptakan add-in:
Jika kita perlu menambahkan prasyarat untuk Office 2013 majelis Interop utama (PIA) maka entri blog berikut adalah yang menarik: Menciptakan paket Bootstrapper untuk Office 2013 VSTO Add-in dengan Visual Studio 2012.
Langkah selanjutnya adalah menambahkan kontrol UI Ribbon untuk VSTO add-in:
Pilih PROYEK perintah dari menu utama.
Pilih perintah Tambah User Control
Dalam dialog, pilih Ribbon (Desain Visual)
Nama itu PVRibbon.vb
Bagaimana kita merancang kontrol UI Ribbon berada di luar ruang lingkup artikel ini. Namun, sumber besar untuk informasi lebih lanjut adalah: Pedoman Microsoft untuk UI Ribbon.
Screenshot berikut menunjukkan desain dari VSTO add-in Ribbon UI:
Karena solusi tidak memerlukan banyak kontrol, lebih baik untuk menempatkannya pada built-in tab Add-ins.
Dalam hal ini kita menggunakan Tombol klik acara untuk mengeksekusi kode. Daftar di bawah ini menunjukkan kode untuk setiap tombol:
Impor Microsoft.Office.Tools.Ribbon
Impor System.Windows.Forms
Kelas PVRibbon Publik
Dim cPVData Sebagai New CPV
Private Sub PVRibbon_Load (ByVal pengirim Sebagai System.Object, ByVal e Sebagai RibbonUIEventArgs) Menangani MyBase.Load
'
End Sub
Private Sub btnHelp_Click (pengirim Sebagai Obyek, e Sebagai RibbonControlEventArgs) Menangani btnHelp.Click
Coba
cPVData.Load_Help ()
Catch ex As Exception
MessageBox.Show ("File Bantuan tidak dapat ditemukan!")
Akhir Coba
End Sub
Private Sub btnReport_Click (pengirim Sebagai Obyek, e Sebagai RibbonControlEventArgs) Menangani btnReport.Click
Coba
Jika cPVData.Load_Report = Benar Kemudian
'
End If
Catch ex As Exception
MessageBox.Show ("Tidak dapat memuat file Template!")
Akhir Coba
End Sub
Private Sub btnData_Click (pengirim Sebagai Obyek, e Sebagai RibbonControlEventArgs) Menangani btnData.Click
'Periksa untuk memastikan kami bekerja dengan workbook yang tepat.
Jika Globals.ThisAddIn.Application.ActiveWorkbook.Name Seperti "PVData *" Lalu
Coba
Jika cPVData.Acquire_Data () = True Lalu
'
End If
Catch ex As Exception
MessageBox.Show (ex.ToString)
Akhir Coba
Lain
MessageBox.Show ("Pastikan bahwa buku kerja PVData adalah buku kerja yang aktif.")
End If
End Sub
End Class
Seperti yang bisa kita lihat dari kode kita menggunakan modul kelas, cPV.vb, yang mencakup prosedur fungsi. Modul kelas cPV.vb memegang prosedur fungsi utama:
Impor System.Data
Impor System.Data.SqlClient
Impor System.Text
Umum Kelas CPV
'Koneksi string untuk SQL Server 2012 MS.
"Tentu saja, informasi ini harus disimpan dalam variabel dalam Pengaturan solusi itu.
DbConnection Const As String = "Data Source = DenWal, Initial Catalog = AdventureWorks2012, User ID = XLDennis, Password = jalan"
Teman Sub Load_Help ()
"Tidak diimplementasikan.
End Sub
Teman Fungsi Load_Report () Sebagai Boolean
BFlag Dim Sebagai Boolean = False
Coba
'Buka salinan baru dari PV data Template.
Globals.ThisAddIn.Application.Workbooks.Open ("C: \ Users \ Dennis \ Documents \ PVData.xltx")
"Jika hal-hal bekerja seperti yang diharapkan kita mengatur bendera ke True.
BFlag = True
Catch ex As Exception
'
Akhir Coba
Kembali BFlag
End Function
Teman Fungsi Acquire_Data () Sebagai Boolean
'Dua variabel Interop diciptakan.
WBData Dim Sebagai Excel.Workbook = Globals.ThisAddIn.Application.ActiveWorkbook
Dim WSData Sebagai Excel.Worksheet = CType (WBData.Worksheets ("Data"), Global.Microsoft.Office.Interop.Excel.Worksheet)
'Buat Ekspresi SQL
SQLExpress Dim As New StringBuilder
SQLExpress.Append ("Pilih")
SQLExpress.Append ("Production.ProductSubcategory.Name Sebagai [Kategori Produk],")
SQLExpress.Append ("Production.Product.Name Sebagai [Nama Produk],")
SQLExpress.Append ("Sum (Production.WorkOrder.StockedQty) Sebagai [Berbekal Quantity],")
SQLExpress.Append ("Sum (Production.WorkOrder.ScrappedQty) Sebagai [diistirahatkan Quantity],")
SQLExpress.Append ("Sum (Production.WorkOrder.OrderQty) Sebagai [Order Quantity]")
SQLExpress.Append ("Dari")
SQLExpress.Append ("Gabung batin Production.Product")
SQLExpress.Append ("Production.WorkOrder Pada Production.WorkOrder.ProductID =")
SQLExpress.Append ("Gabung batin Production.Product.ProductID")
SQLExpress.Append ("Production.ProductSubcategory Pada Production.Product.ProductSubcategoryID =")
SQLExpress.Append ("Gabung batin Production.ProductSubcategory.ProductSubcategoryID")
SQLExpress.Append ("Production.ProductCategory Pada Production.ProductSubcategory.ProductCategoryID =")
SQLExpress.Append ("Production.ProductCategory.ProductCategoryID")
SQLExpress.Append ("Group By")
SQLExpress.Append ("Production.ProductSubcategory.Name, Production.Product.Name")
SQLExpress.Append ("Order By")
SQLExpress.Append ("Production.ProductSubcategory.Name,")
SQLExpress.Append ("Production.Product.Name;")
'Buka database
SQLCon Dim Sebagai SqlConnection Baru (dbConnection)
Sqlcon.Open ()
'Buat DataAdapter.
Dim SQLDa Sebagai SqlDataAdapter Baru (SQLExpress.ToString, SQLCon)
'Buat DataSet baru.
SQLDs Dim Sebagai DataSet Baru
'Mengisi DataSet dengan data yang diperoleh.
SQLDa.Fill (SQLDs, "PVData")
'Matikan koneksi.
SQLCon.Close ()
'Ini' mengkonversi 'lembar kerja Interop ke Alat lembar kerja sehingga fungsionalitas diperpanjang.
"Hal ini memungkinkan kita untuk membuat dan menempatkan kontrol ListObject ke worksheet.
VSTOWorksheet Dim Microsoft.Office.Tools.Excel.Worksheet = Globals.Factory.GetVstoObject (WSData)
'Mencegah layar dari berkedip-kedip selama eksekusi.
Globals.ThisAddIn.Application.ScreenUpdating = False
'Hapus sebelumnya kolom data.
VSTOWorksheet.Range ("A: F"). EntireColumn.Delete ()
'Buat kontrol ListObject baru.
Mylist Dim Microsoft.Office.Tools.Excel.ListObject = _
VSTOWorksheet.Controls.AddListObject (WSData.Range ("A1"), "mylist")
Dengan mylist
'Tambah nama field dari sumber data ke baris pertama dalam ListObject tersebut.
AutoSetDataBoundColumnHeaders = True.
"Di sini kita mengikat sumber data untuk ListObject tersebut.
. DataSource = SQLDs.Tables (0). Defaultview
"Jika kita ingin membuat tabel dapat dilihat.
Range.Columns.EntireColumn.AutoFit. ()
'Contoh format data.
DataBoundFormat = Excel.XlRangeAutoFormat.xlRangeAutoFormatClassic1.
"Lepaskan ListObject dari sumber data nya.
Putus. ()
'Mengkonversi ListObject ke meja dasar.
Unlist. ()
Akhir Dengan
'Kembalikan ScreenUpdating tersebut. Berbeda ketika bekerja dengan VBA kita harus eksplisit menyalakannya.
"Dalam solusi dunia nyata ini harus menjadi bagian dari penanganan error.
Globals.ThisAddIn.Application.ScreenUpdating = True
'Membersihkan.
SQLDs.Dispose ()
SQLDa.Dispose ()
SQLCon.Dispose ()
SQLDs = Tidak ada
SQLDa = Tidak ada
SQLCon = Tidak ada
'Selesai!
Kembali Benar
End Function
end Class
Ketika mengeksekusi kode pertama kita mendapatkan salinan Workbook Template. Selanjutnya, lembar kerja diisi dengan data yang dibutuhkan.
Template workbook
Untuk membuat workbook template, awalnya cukup mudah.
Kami menyimpan buku kerja asli dalam format file XLTX dan beri nama PVData.
Selanjutnya kita nama lembar kerja data.
Lepaskan lembar lain dari buku kerja.
Sekarang, kita akan melakukan beberapa langkah-langkah manual tambahan sebelum Workbook Template selesai dan dapat digunakan. (Catatan: Tidak ada akses ke API untuk bekerja dengan Power View dalam kode). Kita harus terlebih dahulu memuat VSTO add-in, menambahkan beberapa data ke worksheet data dan menambahkan Daya Lihat Laporan lembar.
Pastikan bahwa VSTO add-in PVData.dll dimuat dan dapat diakses ketika memulai Excel.
Buka template asli workbook PVData.xltx. Sebelum membukanya, pastikan untuk menekan tombol Shift. Jika hanya salinan yang dibuat dari template yang workbook.
Pilih lembar data, kemudian klik tombol Memperoleh Data.
Tambah Daya Lihat Laporan lembar ke buku kerja dengan mengklik Daya tombol Lihat pada Ribbon dan menyimpan buku kerja.
Kita sekarang akan melihat jendela yang mirip dengan gambar berikut:
Daya View adalah alat pelaporan yang dirancang fleksibel dengan banyak alternatif desain. Di sini, kami sangat senang dengan desain dasar sehingga tindakan terakhir adalah menyimpan buku kerja Template.
Kita dapat menghapus data dari worksheet data sebelum menyimpan workbook Template. The Power View desain Laporan yang telah kita buat tidak terpengaruh, jadi simpan dan tutup buku kerja.
Beberapa catatan akhir
Dalam lingkungan produksi, jalur seharusnya tidak sulit-kode.
Excel 2013 kini Instance Dokumen Tunggal (SDI) perangkat lunak, yang berarti bahwa setiap buku kerja terbuka di jendela sendiri, mirip dengan Microsoft Word. Excel versi sebelumnya adalah semua multi Document Interface, yang berarti bahwa semua workbook berbagi satu jendela. Dampak dari perubahan ini untuk solusi seperti berkas PVData kami adalah:
Ketika mengklik tombol Open Laporan di Ribbon di Excel, sebuah jendela baru akan terbuka dengan salinan buku kerja Template.
Aktifkan jendela baru dan klik tombol Memperoleh data untuk mengisi lembar kerja data.
Singkatnya, dengan menggunakan add-in dan fungsi ini built-in di Excel, Anda memiliki pendekatan yang efisien dan efektif, terutama bila dibandingkan dengan pilihan lain.
Catatan: versi Proper produk yang diperlukan. Daya View hanya tersedia dengan Pro Plus.
Anda Baru saja membaca artikel " Menyederhanakan manajemen Kekuasaan View Template Excel dengan menggunakan VSTO add-in " semoga artikel ini dapat memberikan informasi yang bermanfaat untuk anda semua, Jangan lupa tetap update artikel terbaru Windows Blue Free
-->
Tidak ada komentar:
Posting Komentar