ASP e Excel são combinados para gerar o código para tabelas e gráficos de dados. Amigos necessitados podem consultá-lo. Índice
1. Configuração do ambiente
2. Operações básicas de ASP no Excel
3. ASP opera Excel para gerar tabelas de dados
4. ASP opera Excel para gerar gráficos
5. Soluções de navegação, download e exclusão de arquivos Excel do lado do servidor
6. Apêndice
texto
1. Configuração do ambiente
Em relação à configuração do ambiente do lado do servidor, a julgar pelos materiais de referência, todas as configurações da série Microsoft devem funcionar bem, a saber:
1. Win9x+PWS+Escritório
2. Win2000 Profissional+PWS+Escritório
3. Servidor Win2000+IIS+Escritório
Atualmente, o ambiente onde o autor testou com sucesso são os dois últimos. Não há requisitos especiais para a versão do Office Considerando a incerteza da configuração do cliente e a baixa compatibilidade, é recomendado que a versão do Office do lado do servidor não seja muito alta para evitar que o cliente não seja exibido corretamente após o download.
Mais duas descobertas fortuitas sobre a configuração do ambiente do lado do servidor são:
1. A máquina de desenvolvimento do autor foi originalmente equipada com WPS2002 da Kingsoft, mas sempre houve um problema com a criação de objetos do Excel. Após a desinstalação do WPS2002, o erro desapareceu.
2. O autor gosta de usar o FrontPage ao desenvolver código ASP. Acontece que se o FrontPage for aberto (lado do servidor), a criação de objetos é instável, às vezes bem-sucedida e às vezes malsucedida. Após extensa investigação, descobrimos que se o software da série Office for executado no lado do servidor, será difícil criar objetos Excel com êxito.
Outra coisa que deve ser definida no lado do servidor é a permissão de operação do componente COM. Digite DCOMCNFG na linha de comando para entrar na interface de configuração do componente COM. Selecione Microsoft Excel e clique no botão Selecionar Personalizado para todas as três opções. Após salvar, reinicie o servidor.
Não há nada de especial na configuração do ambiente do cliente, desde que o Office e o IE estejam instalados, qualquer versão universal parece funcionar.
2. Operações básicas de ASP no Excel
1. Crie um objeto Excel
definir objExcelApp = CreateObject (Excel.Application)
objExcelApp.DisplayAlerts = false não exibe avisos
objExcelApp.Application.Visible = false não exibe a interface
2. Crie um novo arquivo Excel
objExcelApp.WorkBooks.add
definir objExcelBook = objExcelApp.ActiveWorkBook
definir objExcelSheets = objExcelBook.Worksheets
definir objExcelSheet = objExcelBook.Sheets(1)
3. Leia arquivos Excel existentes
strAddr = Servidor.MapPath(.)
objExcelApp.WorkBooks.Open(strAddr & /Templet/Table.xls)
definir objExcelBook = objExcelApp.ActiveWorkBook
definir objExcelSheets = objExcelBook.Worksheets
definir objExcelSheet = objExcelBook.Sheets(1)
4. Salve o arquivo Excel como
objExcelBook.SaveAs strAddr & /Temp/Table.xls
5. Salve o arquivo Excel
objExcelBook.Save (o autor salvou com sucesso durante o teste, mas a página relatou um erro.)
6. Saia da operação do Excel
objExcelApp.Quit deve sair
definir objExcelApp = Nada
3. ASP opera Excel para gerar tabelas de dados
1. Insira dados em um intervalo
objExcelSheet.Range(B3:k3).Value = Array(67, 87, 5, 9, 7, 45, 45, 54, 54, 10)
2. Insira dados em uma célula
objExcelSheet.Cells(3,1).Value=Internet Explorer
3. Altere a cor do texto da célula
objExcelSheet.Cells(3,1).Font.Color=vbred
4. Desenhe linhas ao redor das células
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
Desenhe linhas no meio da área
objExcelSheet.Range(A1:G7).Borders(7).LineStyle =1
objExcelSheet.Range(A1:G7).Borders(8).LineStyle =1
8. Defina a cor de fundo da célula
objExcelSheet.Cells(3.1).Interior.colorindex=17
9. Mesclar células
objExcelSheet.Range(A1:G7).Mesclar
10. Defina o alinhamento esquerdo e direito
2 esquerda 3 meio 4 direita
objExcelSheet.Range(A1).HorizontalAlignment = 2
11. Defina o alinhamento superior e inferior
2 está centrado
objExcelSheet.Range(A1)..VerticalAlignment = 2
4. ASP opera Excel para gerar gráficos
1. Crie um gráfico gráfico
objExcelApp.Charts.Add
2. Defina o tipo de gráfico
objExcelApp.ActiveChart.ChartType = 97
Nota: Gráfico de linhas bidimensionais, 4; gráfico de colunas bidimensionais, 51;
3. Defina o título do gráfico
objExcelApp.ActiveChart.HasTitle = Verdadeiro
objExcelApp.ActiveChart.ChartTitle.Text = Um gráfico de teste
4. Defina gráficos por meio de dados da tabela
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range(A1:k5),1
5. Defina dados gráficos diretamente (recomendado)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).Name = =333
objExcelApp.ActiveChart.SeriesCollection(1).Values==
6. Gráfico de vinculação
objExcelApp.ActiveChart.Location 1
7. Exibir tabela de dados
objExcelApp.ActiveChart.HasDataTable = Verdadeiro
8. Exibir legenda
objExcelApp.ActiveChart.DataTable.ShowLegendKey = Verdadeiro
5. Soluções de navegação, download e exclusão de arquivos Excel do lado do servidor
Existem muitas soluções para navegação, incluindo Location.href=, Navigate e Response.Redirect. É recomendado usar o método cliente porque dá ao servidor mais tempo para gerar arquivos Excel.
A implementação do download é um pouco mais problemática. É uma solução melhor baixar componentes de servidores prontos na Internet ou personalizar e desenvolver um componente você mesmo. Outro método é operar o componente Excel no cliente, e o cliente opera o arquivo Excel do lado do servidor e salva-o no cliente. Este método requer que o cliente abra a permissão de operação do controle ActiveX inseguro. Considerando o problema de notificar cada cliente para definir o servidor como um site confiável, é recomendado usar o primeiro método para evitar problemas.
O plano de exclusão consiste em três partes:
R: Arquivos Excel gerados pelo mesmo usuário usam o mesmo nome de arquivo. O nome do arquivo pode ser composto por um número de ID de usuário ou número de ID de sessão que garante a não duplicação de strings. Desta forma, o novo arquivo substituirá automaticamente o arquivo anterior quando for gerado.
B: Quando o evento Session_onEnd estiver definido no arquivo Global.asa para ser acionado, exclua o arquivo temporário do Excel deste usuário.
C: Quando o evento Application_onStart for definido no arquivo Global.asa para ser acionado, exclua todos os arquivos no diretório temporário.
Nota: Estrutura de diretório recomendada/diretório de código Src/diretório de modelo de modelo/diretório de armazenamento temporário temporário
6. Apêndice
O processo morto do Excel quando ocorre um erro é uma dor de cabeça. Adicionar On Error Resume Next antes de cada arquivo ajudará a melhorar essa situação, pois persistirá na execução de Application.Quit independentemente de o arquivo gerar um erro, garantindo que nenhum processo morto seja deixado após a execução de cada programa.
Dois pontos adicionais:
1. Outras operações específicas do Excel podem ser resolvidas gravando macros.
2. Abrir o SQL Enterprise Manager no lado do servidor também causará problemas.
Copie o código do código da seguinte forma:
<%
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.Worksheets
setobjExcelSheet=objExcelBook.Sheets(1)objExcelSheet.Range(B2:k2).Value=Array(Semana1,Semana2,Semana3,Semana4,Semana5,Semana6,Semana7,
Semana8, Semana9, Semana10)
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=OtherobjExcelSheet.Range(b2:k5).Selecionar
objExcelApp.Charts.Add
objExcelApp.ActiveChart.ChartType=97
objExcelApp.ActiveChart.BarShape=3
objExcelApp.ActiveChart.HasTitle=True
objExcelApp.ActiveChart.ChartTitle.Text=
Registro de visitantes para cada semana mostrado na porcentagem dos navegadores
objExcelApp.ActiveChart.SetSourceDataobjExcelSheet.Range(A1:k5),1
objExcelApp.ActiveChart.Location1
'objExcelApp.ActiveChart.HasDataTable = Verdadeiro
'objExcelApp.ActiveChart.DataTable.ShowLegendKey=TrueobjExcelBook.
SaveAsstrAddr&/Temp/Excel.xlsobjExcelApp.Quit
setobjExcelApp=Nada
%>
<!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.0Transitional//EN>
<HTML>
<CABEÇA>
<TITLE>Novo Documento</TITLE>
<METANAME=GeneratorCONTENT=MicrosoftFrontPage5.0>
<METANAME=AutorCONTENT=>
<METANAME=Palavras-chaveCONTENT=>
<METANAME=DescriçãoCONTENT=>
</HEAD>
<CORPO>
</BODY>
</HTML>