
Bloquear Hoja de Excel desde una function de vb.net
Publicado por Juan Carlos (11 intervenciones) el 12/05/2015 21:53:42
Hola buen día.
Tengo una función que exporta de Datagridview a Excel, los datos mostrados en mi Datagridview están correctos y hasta aquí todo bien.
La pregunta es... Como puedo bloquear mi hoja de Excel desde la función, para que cuando termine la exportación no se puedan modificar los datos de mi hoja. Esta es la función:
Tengo una función que exporta de Datagridview a Excel, los datos mostrados en mi Datagridview están correctos y hasta aquí todo bien.
La pregunta es... Como puedo bloquear mi hoja de Excel desde la función, para que cuando termine la exportación no se puedan modificar los datos de mi hoja. Esta es la función:
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
Public Function GridAExcel(ByVal DGV As DataGridView) As Boolean
'Creamos las variables
Dim exApp As New Microsoft.Office.Interop.Excel.Application
Dim exLibro As Microsoft.Office.Interop.Excel.Workbook
Dim exHoja As Microsoft.Office.Interop.Excel.Worksheet
Try
exLibro = exApp.Workbooks.Add
exHoja = exLibro.Worksheets.Add()
' ¿Cuantas columnas y cuantas filas?
Dim NCol As Integer = DGV.ColumnCount
Dim NRow As Integer = DGV.RowCount
'recorremos todas las filas, y por cada fila todas las columnas
'y vamos escribiendo.
For i As Integer = 1 To NCol
exHoja.Cells.Item(1, i) = DGV.Columns(i - 1).Name.ToString
Next
For Fila As Integer = 0 To NRow - 1
For Col As Integer = 0 To NCol - 1
exHoja.Cells.Item(Fila + 2, Col + 1) = DGV.Rows(Fila).Cells(Col).Value()
Next
Next
exHoja.ProtectContents.ToString()
'Titulo en negrita, Alineado
exHoja.Rows.Item(1).Font.Bold = 1
exHoja.Rows.Item(1).HorizontalAlignment = 3
exHoja.Columns.AutoFit()
'para visualizar el libro
exApp.Application.Visible = True
exHoja = Nothing
exLibro = Nothing
exApp = Nothing
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")
Return False
End Try
Return True
End Function
Valora esta pregunta


0