1. Usando o OWC
O que é o OWC?
OWC é a abreviatura de Office Web Compent, que é o Office Web Component da Microsoft. Ele fornece um mecanismo flexível e básico para desenhar gráficos na Web. Em um ambiente de intranet, se for possível presumir que um navegador específico e algum software poderoso (como o IE5 e o Office 2000) existem no computador cliente, será possível usar o Office Web Components para fornecer um ambiente de desenvolvimento gráfico interativo. Neste modo, a estação de trabalho cliente compartilhará uma grande proporção de toda a tarefa.
<% Opção Explícita
ClasseExcelGen
Planilha obj privada
Privado iColOffset
Privado iRowOffset
SubClass_Initialize()
Definir objPlanilha = Server.CreateObject("OWC.Planilha")
iRowOffset = 2
iColOffset=2
Fim Sub
Subclasse_Terminate()
Definir objSpreadsheet = Nothing 'Limpar
End Sub
Propriedade Pública Let ColumnOffset (iColOff)
Se iColOff > 0 então
iColOffset = iColOff
Outro
iColOffset=2
Terminar se
Propriedade final
Propriedade pública Let RowOffset(iRowOff)
Se iRowOff > 0 então
iRowOffset = iRowOff
Outro
iRowOffset = 2
Terminar se
Fim da propriedade SubGenerateWorksheet (objRS)
'Preenche a planilha do Excel com base no conteúdo de um Recordset
'Comece exibindo os títulos
Se objRS.EOF então saia do Sub
Dim objField, iCol, iRow
iCol = iColOffset
iRow = iRowOffset
Para cada objField em objRS.Fields
objSpreadsheet.Cells(iRow, iCol).Value = objField.Name
objSpreadsheet.Columns(iCol).AutoFitColumns
'Define a fonte na tabela do Excel
objSpreadsheet.Cells(iRow, iCol).Font.Bold = Verdadeiro
objSpreadsheet.Cells(iRow, iCol).Font.Italic = Falso
objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
objSpreadsheet.Cells(iRow, iCol).Halignment = 2 'Centrado
iCol = iCol + 1
Próximo 'objField
'Mostra todos os dados
Faça enquanto não objRS.EOF
iRow = iRow + 1
iCol = iColOffset
Para cada objField em objRS.Fields
Se IsNull(objField.Value) então
objSpreadsheet.Cells(iRow, iCol).Value = ""
Outro
objSpreadsheet.Cells(iRow, iCol).Value = objField.Value
objSpreadsheet.Columns(iCol).AutoFitColumns
objSpreadsheet.Cells(iRow, iCol).Font.Bold = Falso
objSpreadsheet.Cells(iRow, iCol).Font.Italic = Falso
objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
Terminar se
iCol = iCol + 1
Próximo 'objField
objRS.MoveNext
Laço
End Sub Function SaveWorksheet(strFileName)
'Salva a planilha com um nome de arquivo especificado
Em caso de erro, retomar o próximo
Chame objSpreadsheet.ActiveSheet.Export(strFileName, 0)
SalvarPlanilha = (Err.Number = 0)
Função final
Fim da classe
Dim objRS
Definir objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "SELECT * FROM xxxx", "Provider=SQLOLEDB.1;Persist Security
Info=True;User ID=xxxx;Password=xxxx;Initial Catalog=xxxx;Data source=xxxx;"
Escurecer SalvarNome
SalvarNome = Request.Cookies("salvarnome")("nome")
Dim objetoExcel
DimExcelPath
ExcelPath = "Excel" & SaveName & ".xls"
Definir objExcel = Novo ExcelGen
objExcel.RowOffset = 1
objExcel.ColumnOffset = 1
objExcel.GenerateWorksheet(objRS)
Se objExcel.SaveWorksheet(Server.MapPath(ExcelPath)) então
'Response.Write "<html><body bgcolor='gainsboro' text='#000000'>Salvo como arquivo Excel.
<a href='" & server.URLEncode(ExcelPath) & "'>Download</a> "
Outro
Response.Write "Ocorreu um erro ao salvar!"
Terminar se
Definir objExcel = Nada
objRS.Fechar
Definir objRS = Nada
%>
2. Utilize o componente Excel Application para exportar para Excel ou Word no cliente
Nota: "dados" nas duas funções é o id da tabela a ser exportada na página web
<input type="hidden" name="out_word. " onclick="vbscript :buildDoc" value="Exportar para word" class="notPrint">
<input type="hidden" name="out_excel" onclick="AutomateExcel();" value="Export to excel" class="notPrint">
Exportar para código Excel
<SCRIPT LANGUAGE="javascript">
<!--
função AutomateExcel()
{
// Inicie o Excel e obtenha o objeto Application.
var oXL = novo ActiveXObject("Excel.Application");
// Obtenha uma nova pasta de trabalho.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var tabela = document.all.data;
var hang = table.rows.length;
var lie = table.rows(0).cells.length;
// Adiciona cabeçalhos de tabela célula por célula.
para (i=0;i<pendurar;i++)
{
para (j=0;j<lie;j++)
{
oSheet.Cells(i+1,j+1).value = tabela.rows(i).cells(j).innerText;
}
}
oXL.Visible = verdadeiro;
oXL.UserControl = verdadeiro;
}
//-->
</SCRIPT>
Exportar para código Word
<script language="vbscript">
SubconstruçãoDoc
definir tabela = document.all.data
linha = tabela.linhas.comprimento
coluna = tabela.rows(1).cells.length
Definir objWordDoc = CreateObject("Word.Document")
objWordDoc.Application.Documents.Add theTemplate, False
objWordDoc.Application.Visible=True
Dim theArray(20,10000)
para i=0 para linha-1
para j = 0 para coluna-1
theArray(j+1,i+1) = table.rows(i).cells(j).innerTEXT
próximo
próximo
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("Conjunto abrangente de resultados de consulta") //Exibir o título da tabela
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("")
Definir rngPara = objWordDoc.Application.ActiveDocument.Paragraphs(1).Range
Com rngPara
.Bold = True //Coloque o título em negrito
.ParagraphFormat.Alignment = 1 //Centra o título
.Font.Name = "script oficial" //Definir a fonte do título
.Font.Size = 18 //Defina o tamanho da fonte do título
Terminar com
Definir rngCurrent = objWordDoc.Application.ActiveDocument.Paragraphs(3).Range
Defina tabCurrent = ObjWordDoc.Application.ActiveDocument.Tables.Add(rngCurrent,row,column)
para i = 1 para a coluna
objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.InsertAfter theArray (eu,1)
objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.ParagraphFormat.alignment=1
próximo
Para i = 1 para coluna
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
Próximo
final Sub
</SCRIPT>
3. Abra-o diretamente no IE e salve-o como um arquivo EXCEL
Use o formato <table> para exibir os dados lidos na página da web. Ao mesmo tempo, adicione a próxima frase para exibir o EXCEL. tabela no cliente.
<%response.ContentType ="application/vnd.ms-excel"%>
Nota: Na página exibida, apenas <table> é gerado. É melhor não gerar informações diferentes de outras tabelas.
4. Exporte csv separado por vírgulas de meia largura
Use o método fso para gerar um arquivo de texto e gerar um arquivo csv com uma extensão. Neste arquivo, uma linha é uma linha da tabela de dados. Gere campos de tabela de dados separados por vírgulas de meia largura. (O método de geração de arquivos de texto por fso não será apresentado aqui)
Introdução aos arquivos CSV (arquivos separados por vírgula)
Selecione esta opção e o sistema criará um arquivo CSV para download. CSV é o formato de arquivo mais comum. vários formulários e bancos de dados de PC com muita facilidade.
Observe que mesmo se você selecionar Tabela como formato de saída, ainda poderá baixar os resultados como um arquivo CSV. Na parte inferior da tela de saída da tabela, existe a opção “Arquivo CSV”, clique nela para baixar o arquivo.
Se você configurar seu navegador para associar seu software de planilha a arquivos de texto (TXT)/arquivos delimitados por vírgula (CSV), o arquivo será aberto automaticamente quando você baixá-lo. Após o download, se o EXCEL estiver instalado localmente, clique neste arquivo para abri-lo automaticamente com o software EXCEL.