O conteúdo principal deste artigo é usar os exemplos de arquivos do Excel.
Uma maneira de usar o Excel no ASP é vincular o arquivo do Excel como um banco de dados, e a operação é semelhante à operação de banco de dados de acesso. Para um formato fixo, este formato contém fusão de células complexas, estilos de linha de fronteira, padrões, relações de fórmula entre células, etc. Acho que a coisa mais fácil de entender é abrir uma configuração existente no plano de modelo bom e, em seguida, insira dados quando necessário , salvar, saída ...
O método mencionado aqui é criar diretamente um objeto Excel, que pode executar várias operações no documento do Excel de maneira mais conveniente em segundo plano.
O lado do servidor também precisa definir as permissões de operação dos componentes COM. Digite DCOMCNFG na linha de comando e digite a interface de configuração do componente. Reinicie o servidor depois de salvar.
É muito importante.
No entanto, esse método também possui uma desvantagem. não foram configurados corretamente.
Além disso, o formato de código de exemplo no artigo citado acima não é muito completo e muitas das quebras e espaços de linha são imprecisos. Pesquise e modifique, será fácil começar.
Código do programa:
- <%
- OnErrorReSumenext
- straddr = server.mappath (.)
- setobjexcelpp = createObject (Excel.Application)
- objexcelpp.displayalerts = false
- objexcelapp.application.visible = false
- objexcelpp.workbooks.open (straddr &/templet/null.xls)
- setObJexcelBook = objexcepp.activeWorkbook
- setobjexcelSheets = objexcelBook.worksheets
- setobjexcelSheet = objexcelBook.heets (1)
- objexcelSheet.Range (B2: K2) .Value = Array (semana1, semana2, semana3, semana4, semana5, semana6, semana7)
- 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 = IntertexPlorer
- objexcelSheet.Cells (4,1) .Value = Netscape
- objexcelSheet.Cells (5,1) .Value = Other
- objexcelSheet.Range (B2: K5) .Select
- SAVEAS (STRADDR &/temp/Excel.xls)
- objexcelApp.quit
- SetobJexcepp = nada
- %>
- <!
- <html>
- <head>
- <title> newDocument </title>
- <Metaname = generatorContent = MicrosoftFrontPage5.0>
- <Metaname = autorContent =>
- <Metaname = keywordscontent =>
- <Metaname = descriptionContent =>
- </head>
- <Body>
- </Body>
- </html>
Após operar o arquivo do Excel, você precisa emitir o arquivo Para abrir diretamente no IE, não coloque o arquivo do Excel com o FSO e em seguida, em seguida no IE.
Código do programa:
- <%
- Dimfso, FileExt, Strfilepath, MIME
- strfilepath = f: /aspxuexi.doc
- Setfso = server.createObject (script.filesystemoBject)
- FileExt = fso.geTextensionName (strfilepath)
- Setfso = nada
- SelectCaseFileExt
- CASEDOC
- MIME = APLICAÇÃO/MSWORD
- Casexls
- MIME = APLICAÇÃO/MSEXCEL
- EndSelect
- Caloutput (strfilepath, mímica)
- '######################################################D #####
- FunctionOutput (strfilepath, mímica)
- Response.ContentType = MIME
- ConstadTypeBinary = 1
- SetObjstream = server.createObject (adodb.stream)
- objstream.open
- objstream.type = adtypebinary
- objstream.loadFromFileStFilePath
- Response.BinaryWriteObjStream.read
- objstream.close
- Setobjstream = nada
- Função final
- '######################################################D #####
- %>
No aplicativo real, quando o servidor está executando um programa Excel ou Access, o cliente envia o estabelecimento do objeto Excel.Application sem sucesso. .
Existem exemplos de sucesso relacionados na rede interna do nosso departamento. Em execução na rede local da área, o nível de segurança do cliente, ou seja, você pode definir baixo e permitir a execução do ActiveX relevante (ou seja, defina todos os tipos de coisas relacionadas à segurança a serem permitidas nas opções de ferramentas do IE e qual item específico não é investigado).
O código implementado é semelhante ao log anterior, e o mais simples é o seguinte:
Código do programa:
- <scriptLanguage = vbscript>
- setobjexcelpp = createObject (Excel.Application)
- objexcelpp.displayalerts = true
- objexcelpp.workbooks.open (http://xxx.xxx.xxx/xxx.xls)
- 'O arquivo XLS com o endereço de rede completo, este arquivo foi formatado e impresso e salvo no servidor
- setObJexcelBook = objexcepp.activeWorkbook
- setobjexcelSheets = objexcelBook.worksheets
- setobjexcelSheet = objexcelBook.heets (1)
- '==== Aqui estão declarações que preenchem dados nas células do Excel.
- 'Por exemplo: Response.WriteObjexcelSheet.Range (B2) .Value = & Rs (XXX) &
- 'ou objexcelSheet.range (b2) .value = <%= rs (xxx)%>
- objexcelSheet.Range (B2: K2) .Value = Array (semana1, semana2, semana3, semana4, semana5, semana6, semana7)
- 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 = IntertexPlorer
- objexcelSheet.Cells (4,1) .Value = Netscape
- objexcelSheet.Cells (5,1) .Value = Other
- '=========================
- 'Objexcelpp.quit
- 'SetobJexcepp = nada
- </script>
No código acima
- 'Objexcelpp.quit
- 'SetobJexcepp = nada
Como cancelamento, não feche o Excel.Application aqui, caso contrário, o Excel será fechado após o preenchimento dos dados.
O exposto acima é o processo inteiro de uso do ASP para produzir arquivos Excel. Espero que seja útil para o aprendizado de todos.