ASP y Excel se combinan para generar el código para tablas y gráficos de datos. Los amigos que lo necesiten pueden consultarlo. Tabla de contenido
1. Configuración del entorno
2. Operaciones básicas de ASP en Excel
3. ASP opera Excel para generar tablas de datos.
4. ASP opera Excel para generar gráficos
5. Soluciones de exploración, descarga y eliminación de archivos Excel del lado del servidor
6. Apéndice
texto
1. Configuración del entorno
Con respecto a la configuración del entorno del lado del servidor, a juzgar por los materiales de referencia, todas las configuraciones de la serie Microsoft deberían estar bien, a saber:
1. Win9x+PWS+Oficina
2. Win2000 Profesional+PWS+Office
3. Servidor Win2000+IIS+Office
En la actualidad, el entorno donde el autor ha probado con éxito son los dos últimos. No existen requisitos especiales para la versión de Office. Teniendo en cuenta la incertidumbre de la configuración del cliente y la baja compatibilidad, se recomienda que la versión de Office del lado del servidor no sea demasiado alta para evitar que el cliente no se muestre correctamente después de la descarga.
Dos descubrimientos fortuitos más sobre la configuración del entorno del lado del servidor son:
1. La máquina de desarrollo del autor estaba originalmente equipada con WPS2002 de Kingsoft, pero siempre hubo un problema con la creación de objetos de Excel. Después de desinstalar WPS2002, el error desapareció.
2. Al autor le gusta usar FrontPage cuando desarrolla código ASP. Resulta que si se abre FrontPage (del lado del servidor), la creación de objetos es inestable, a veces exitosa y otras veces fallida. Después de una investigación exhaustiva, descubrimos que si el software de la serie Office se ejecuta en el lado del servidor, es difícil crear objetos de Excel con éxito.
Otra cosa que se debe configurar en el lado del servidor es el permiso de operación del componente COM. Escriba DCOMCNFG en la línea de comando para ingresar a la interfaz de configuración del componente COM. Seleccione Microsoft Excel y haga clic en el botón Propiedades. Seleccione Personalizado para las tres opciones. Durante la edición, agregue Todos a todos los permisos. Después de guardar, reinicie el servidor.
No hay nada especial en la configuración del entorno del cliente. Siempre que Office e IE estén instalados, cualquier versión universal parece estar bien.
2. Operaciones básicas de ASP en Excel
1. Crear objeto de Excel
establecer objExcelApp = CreateObject(Excel.Application)
objExcelApp.DisplayAlerts = false no muestra advertencias
objExcelApp.Application.Visible = false no muestra la interfaz
2. Crea un nuevo archivo de Excel
objExcelApp.WorkBooks.add
establecer objExcelBook = objExcelApp.ActiveWorkBook
establecer objExcelSheets = objExcelBook.Worksheets
establecer objExcelSheet = objExcelBook.Sheets(1)
3. Leer archivos de Excel existentes
strAddr = Servidor.MapPath(.)
objExcelApp.WorkBooks.Open(strAddr & /Templet/Table.xls)
establecer objExcelBook = objExcelApp.ActiveWorkBook
establecer objExcelSheets = objExcelBook.Worksheets
establecer objExcelSheet = objExcelBook.Sheets(1)
4. Guarde el archivo de Excel como
objExcelBook.SaveAs strAddr y /Temp/Table.xls
5. Guarde el archivo de Excel
objExcelBook.Save (el autor guardó correctamente durante la prueba, pero la página informó un error).
6. Salir de la operación de Excel
objExcelApp.Quit debe salir
establecer objExcelApp = Nada
3. ASP opera Excel para generar tablas de datos.
1. Insertar datos en un rango.
objExcelSheet.Range(B3:k3).Valor = Matriz(67, 87, 5, 9, 7, 45, 45, 54, 54, 10)
2. Insertar datos en una celda.
objExcelSheet.Cells(3,1).Value=Internet Explorer
3. Cambiar el color del texto de la celda
objExcelSheet.Cells(3,1).Font.Color=vbred
4. Dibuja líneas alrededor de las celdas.
objExcelSheet.Cells(3.1).Borders(1).LineStyle =1
objExcelSheet.Cells(3.1).Borders(2).LineStyle =1
objExcelSheet.Cells(3.1).Borders(3).LineStyle =1
objExcelSheet.Cells(3.1).Borders(4).LineStyle =1
Dibuja líneas en el medio del área.
objExcelSheet.Range(A1:G7).Borders(7).LineStyle =1
objExcelSheet.Range(A1:G7).Borders(8).LineStyle =1
8. Establece el color de fondo de la celda.
objExcelSheet.Cells(3.1).Interior.colorindex=17
9. Fusionar celdas
objExcelSheet.Range(A1:G7).Fusionar
10. Establecer alineación izquierda y derecha
2 izquierda 3 medio 4 derecha
objExcelSheet.Range(A1).AlineaciónHorizontal = 2
11. Establezca la alineación superior e inferior.
2 está centrado
objExcelSheet.Range(A1)..VerticalAlignment = 2
4. ASP opera Excel para generar gráficos
1. Crear gráfico
objExcelApp.Charts.Add
2. Establezca el tipo de gráfico
objExcelApp.ActiveChart.ChartType = 97
Nota: gráfico de líneas bidimensional, 4; gráfico circular bidimensional, 5;
3. Establezca el título del gráfico
objExcelApp.ActiveChart.HasTitle = Verdadero
objExcelApp.ActiveChart.ChartTitle.Text = Un gráfico de prueba
4. Establecer gráficos a través de datos de tabla.
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range(A1:k5),1
5. Configurar datos gráficos directamente (recomendado)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).Nombre = =333
objExcelApp.ActiveChart.SeriesCollection(1).Valores = =
6. Enlazar gráfico
objExcelApp.ActiveChart.Ubicación 1
7. Mostrar tabla de datos
objExcelApp.ActiveChart.HasDataTable = Verdadero
8. Mostrar leyenda
objExcelApp.ActiveChart.DataTable.ShowLegendKey = Verdadero
5. Soluciones de exploración, descarga y eliminación de archivos Excel del lado del servidor
Existen muchas soluciones para navegar, incluidas Location.href=, Navigate y Response.Redirect. Se recomienda utilizar el método del cliente porque le da al servidor más tiempo para generar archivos de Excel.
La implementación de la descarga es un poco más problemática. Es una mejor solución para descargar componentes desde servidores ya preparados en Internet o para personalizar y desarrollar un componente usted mismo. Otro método es operar el componente de Excel en el cliente, y el cliente opera el archivo de Excel del lado del servidor y lo guarda en el cliente. Este método requiere que el cliente abra el permiso de operación del control ActiveX inseguro. Teniendo en cuenta el problema de notificar a cada cliente que configure el servidor como un sitio confiable, se recomienda utilizar el primer método para evitar problemas.
El plan de eliminación consta de tres partes:
R: Los archivos de Excel generados por el mismo usuario usan el mismo nombre de archivo. El nombre del archivo puede estar compuesto por un número de identificación de usuario o un número de identificación de sesión que garantiza la no duplicación de cadenas. De esta manera, el nuevo archivo sobrescribirá automáticamente el archivo anterior cuando se genere.
B: Cuando el evento Session_onEnd esté configurado en el archivo Global.asa para activarse, elimine el archivo temporal de Excel de este usuario.
C: Cuando el evento Application_onStart esté configurado en el archivo Global.asa para activarse, elimine todos los archivos en el directorio temporal.
Nota: Estructura de directorio recomendada/directorio de código Src/directorio de plantilla de plantilla/directorio de almacenamiento temporal temporal
6. Apéndice
El proceso muerto de Excel cuando ocurre un error es un dolor de cabeza. Agregar On Error Resume Next antes de cada archivo ayudará a mejorar esta situación, porque persistirá en la ejecución de la Aplicación. Salga independientemente de si el archivo genera un error, lo que garantiza que no quede ningún proceso inactivo después de cada ejecución del programa.
Dos puntos adicionales:
1. Otras operaciones específicas de Excel se pueden resolver grabando macros.
2. Abrir SQL Enterprise Manager en el lado del servidor también causará problemas.
Copie el código de código de la siguiente manera:
<%
OnErrorResumeNextstrAddr=Server.MapPath(.)setobjExcelApp=CreateObject(Excel.Application)
objExcelApp.DisplayAlerts=falso
objExcelApp.Application.Visible=falso
objExcelApp.WorkBooks.Open(strAddr&/Templet/Null.xls)
setobjExcelBook=objExcelApp.ActiveWorkBook
setobjExcelSheets=objExcelBook.Hojas de trabajo
setobjExcelSheet=objExcelBook.Sheets(1)objExcelSheet.Range(B2:k2).Value=Array(Semana1,Semana2,Semana3,Semana4,Semana5,Semana6,Semana7,
Semana 8, Semana 9, Semana 10)
objExcelSheet.Range(B3:k3).Value=Array(67,87,5,9,7,45,45,54,54,10)
objExcelSheet.Range(B4:k4).Value=Array(10,10,8,27,33,37,50,54,10,10)
objExcelSheet.Range(B5:k5).Value=Array(23,3,86,64,60,18,5,1,36,80)
objExcelSheet.Cells(3,1).Value=InternetExplorer
objExcelSheet.Cells(4,1).Value=Netscape
objExcelSheet.Cells(5,1).Value=OtroobjExcelSheet.Range(b2:k5).Select
objExcelApp.Charts.Add
objExcelApp.ActiveChart.ChartType=97
objExcelApp.ActiveChart.BarShape=3
objExcelApp.ActiveChart.HasTitle=Verdadero
objExcelApp.ActiveChart.ChartTitle.Text=
Registro de visitantes para cada semana que se muestra en el porcentaje de navegadores
objExcelApp.ActiveChart.SetSourceDataobjExcelSheet.Range(A1:k5),1
objExcelApp.ActiveChart.Location1
'objExcelApp.ActiveChart.HasDataTable=Verdadero
'objExcelApp.ActiveChart.DataTable.ShowLegendKey=TrueobjExcelBook.
SaveAsstrAddr&/Temp/Excel.xlsobjExcelApp.Quit
setobjExcelApp=Nada
%>
<!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.0Transicional//ES>
<HTML>
<CABEZA>
<TITLE>NuevoDocumento</TITLE>
<METANAME=GeneradorCONTENT=MicrosoftFrontPage5.0>
<METANAME=AutorCONTENIDO=>
<METANAME=Palabras claveCONTENIDO=>
<METANAME=DescripciónCONTENIDO=>
</CABEZA>
<CUERPO>
</CUERPO>
</HTML>