1. Uso de OWC
¿Qué es OWC?
OWC es la abreviatura de Office Web Compent, que es el componente web de Office de Microsoft. Proporciona un mecanismo básico y flexible para dibujar gráficos en la Web. En un entorno de intranet, si se puede suponer que existe un navegador específico y algún software potente (como IE5 y Office 2000) en la computadora cliente, entonces es posible utilizar Office Web Components para proporcionar un entorno de desarrollo gráfico interactivo. En este modo, la estación de trabajo del cliente compartirá una gran proporción de toda la tarea.
<%Opción explícita
ClaseExcelGen
Objeto privadoHoja de cálculo
iColOffset privado
iRowOffset privado
Subclase_Inicializar()
Establecer objSpreadsheet = Server.CreateObject("OWC.Spreadsheet")
iRowOffset = 2
iColOffset=2
Fin Sub
Sub Class_Terminate()
Establecer objSpreadsheet = Nada 'Limpiar
Fin
de propiedad subpública Let ColumnOffset(iColOff)
Si iColOff > 0 entonces
iColOffset = iColOff
Demás
iColOffset=2
Terminar si
Propiedad final
Propiedad pública Let RowOffset(iRowOff)
Si iRowOff > 0 entonces
iRowOffset = iRowOff
Demás
iRowOffset = 2
Terminar si
Fin de propiedad Sub GenerateWorksheet (objRS)
'Rellena la hoja de cálculo de Excel según el contenido de un conjunto de registros
'Comience mostrando los títulos
Si objRS.EOF entonces salga de Sub
Atenuar objField, iCol, iRow
iCol = iColOffset
iRow = iRowOffset
Para cada objField en objRS.Fields
objSpreadsheet.Cells(iRow, iCol).Value = objField.Name
objHoja de cálculo.Columns(iCol).AutoFitColumns
'Establecer la fuente en la tabla de Excel
objSpreadsheet.Cells(iRow, iCol).Font.Bold = Verdadero
objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
objSpreadsheet.Cells(iRow, iCol).Halignment = 2 'Centrado
iCol = iCol + 1
Siguiente 'campoobj
'Mostrar todos los datos
Hacer mientras no objRS.EOF
iFila = iFila + 1
iCol = iColOffset
Para cada objField en objRS.Fields
Si es nulo (objField.Value) entonces
objSpreadsheet.Cells(iRow, iCol).Value = ""
Demás
objSpreadsheet.Cells(iRow, iCol).Value = objField.Value
objHoja de cálculo.Columns(iCol).AutoFitColumns
objSpreadsheet.Cells(iRow, iCol).Font.Bold = False
objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
Terminar si
iCol = iCol + 1
Siguiente 'campoobj
objRS.MoveNext
Bucle
Fin de la subfunción SaveWorksheet(strFileName)
'Guarda la hoja de trabajo en un nombre de archivo específico
En caso de error Continuar siguiente
Llame a objSpreadsheet.ActiveSheet.Export(strFileName, 0)
Guardar hoja de trabajo = (Número de error = 0)
Función final
Fin de clase
tenue objRS
Establecer objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "SELECT * FROM xxxx", "Proveedor=SQLOLEDB.1;Persist Security
Info=True;ID de usuario=xxxx;Contraseña=xxxx;Catálogo inicial=xxxx;Fuente de datos=xxxx;"
Guardar nombre oscuro
GuardarNombre = Solicitud.Cookies("guardarnombre")("nombre")
Objeto tenueExcel
DimExcelPath
ExcelPath = "Excel" & GuardarNombre & ".xls"
Establecer objExcel = Nuevo ExcelGen
objExcel.RowOffset = 1
objExcel.ColumnOffset = 1
objExcel.GenerateWorksheet(objRS)
Si objExcel.SaveWorksheet(Server.MapPath(ExcelPath)) entonces
'Response.Write "<html><body bgcolor='gainsboro' text='#000000'>Guardado como archivo de Excel.
<a href='" & server.URLEncode(ExcelPath) & "'>Descargar</a> "
Demás
Response.Write "¡Se produjo un error al guardar!"
Terminar si
Establecer objExcel = Nada
objRS.Cerrar
Establecer objRS = Nada
%>
2. Utilice el componente de aplicación de Excel para exportar a Excel o Word en el cliente.
Nota: "datos" en las dos funciones es la identificación de la tabla que se exportará en la página web
<input type="hidden" name="out_word". " onclick="vbscript :buildDoc" value="Exportar a Word" class="notPrint">
<input type="hidden" name="out_excel" onclick="AutomateExcel();" value="Exportar a excel" class="notPrint">
Exportar a código de Excel
<SCRIPT LANGUAGE="javascript">
<!--
función AutomatizarExcel()
{
// Inicie Excel y obtenga el objeto Aplicación.
var oXL = nuevo ActiveXObject("Excel.Application");
// Obtenga un nuevo libro de trabajo.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var tabla = documento.todos.datos;
var hang = table.rows.length;
var lie = table.rows(0).cells.length
// Agrega encabezados de tabla celda por celda;
para (i=0;i<colgar;i++)
{
para (j=0;j<mentira;j++)
{
oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;
}
}
oXL.Visible = verdadero;
oXL.UserControl = verdadero;
}
//-->
</SCRIPT>
Exportar a código Word
<script language="vbscript">
SubcompilaciónDoc
establecer tabla = documento.todos.datos
fila = tabla.filas.longitud
columna = table.rows(1).cells.length
Set objWordDoc = CreateObject("Word.Document")
objWordDoc.Application.Documents.Add theTemplate, False
objWordDoc.Application.Visible=True
Atenuar theArray(20,10000)
para i=0 a la fila-1
para j=0 a la columna-1
theArray(j+1,i+1) = tabla.filas(i).celdas(j).TEXTOInterior
próximo
próximo
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("Conjunto completo de resultados de consulta") //Muestra el título de la tabla
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("")
Establecer rngPara = objWordDoc.Application.ActiveDocument.Paragraphs(1).Range
Con rngPara
.Bold = True //Pone el título en negrita
.ParagraphFormat.Alignment = 1 //Centra el título
.Font.Name = "script oficial" //Establece la fuente del título
.Font.Size = 18 //Establece el tamaño de fuente del título
Terminar con
Establecer rngCurrent = objWordDoc.Application.ActiveDocument.Paragraphs(3).Range
Establezca tabCurrent = ObjWordDoc.Application.ActiveDocument.Tables.Add(rngCurrent,row,column)
para i = 1 en la columna
objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.InsertAfter theArray (yo,1)
objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.ParagraphFormat.alignment=1
próximo
Para i = 1 a la columna
Para j = 2 para remar
objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.InsertAfter theArray(i,j)
objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.ParagraphFormat.alignment=1
Próximo
Siguiente
final sub
</SCRIPT>
3. Ábralo directamente en IE y luego guárdelo como un archivo EXCEL.
Utilice el formato <tabla> para mostrar los datos leídos en la página web. Al mismo tiempo, agregue la siguiente oración para mostrar EXCEL. mesa sobre el cliente.
<%response.ContentType ="application/vnd.ms-excel"%>
Nota: En la página mostrada, solo se muestra <table>. Es mejor no mostrar información que no sean otras tablas.
4. Exporte csv separado por comas de medio ancho.
Utilice el método fso para generar un archivo de texto y genere un archivo csv con una extensión. En este archivo, una línea es una línea de la tabla de datos. Genere campos de tabla de datos separados por comas de medio ancho. (El método para generar archivos de texto mediante fso no se presentará aquí)
Introducción a los archivos CSV (archivos separados por comas)
Seleccione esta opción y el sistema creará un archivo CSV para descargar. CSV es el formato de archivo más común al que se puede importar. varios formularios de PC y bases de datos muy fácilmente.
Tenga en cuenta que incluso si selecciona Tabla como formato de salida, aún puede descargar los resultados como un archivo CSV. En la parte inferior de la pantalla de salida de la tabla, hay una opción de "archivo CSV", haga clic en ella para descargar el archivo.
Si configura su navegador para asociar su software de hoja de cálculo con archivos de texto (TXT)/delimitados por comas (CSV), el archivo se abrirá automáticamente cuando lo descargue. Después de la descarga, si EXCEL está instalado localmente, haga clic en este archivo para abrirlo automáticamente con el software EXCEL.