Exportar dados para o Excel usando um HTTPHandler, XSLT e ASP.NET

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 871040
Suporte ASP.NET voz coluna: Exportar dados para o Excel usando um HTTPHandler, XSLT e ASP.NET
para personalizar esta coluna às suas necessidades, queremos convidá-lo para enviar suas idéias sobre tópicos que interessam a você e problemas que você deseja ver abordados artigos do Knowledge Base no futuro e colunas de voz de suporte. Você pode enviar suas idéias e comentários usando o formulário Ask For It. Há também um link para o formulário na parte inferior desta coluna.
Este artigo foi publicado originalmente como uma coluna de voz de suporte do ASP.NET em março de 2004. Isso não é um artigo da base padrão de dados.
INTRODUÇÃO
Bem-vindo ao Microsoft ASP.NET Developer Support Center! Para os meses alguns últimos, a equipe de desenvolvedores suporte conteúdo tem sido lançando ao redor a idéia de fornecer uma voz mais pessoal para alguns dos centros de suporte ao desenvolvedor no site do suporte da Microsoft:No final, decidimos Executar piloto algumas colunas para as áreas de tecnologia ASP.NET e o Office Developer. Nosso objetivo é fornecer uma maneira fácil e informativa para trazer o mais interessante relacionadas ao suporte conteúdo e alto cliente problemas de impacto para sua atenção, enquanto ao mesmo tempo oferecer dicas de pesquisa como melhor aproveitar as vantagens da Base de dados de Conhecimento da Microsoft. Nós também gostaria de estender um convite aberto para enviar qualquer idéias sobre como podemos melhorar essa discussão e sobre quaisquer problemas que você deseja ver no futuro abordada artigos da Base de dados de Conhecimento. Esperamos que você encontrará essas informações para ser um útil e um uso eficiente do seu tempo.
Como você já deve saber, pesquisa do Knowledge Base nem sempre é a experiência proveitosa que queremos ser. Essencialmente, isso é o objetivo principal desta coluna. A coluna irá realçar específicos artigos da base dados de Conhecimento que são baseados em torno de um tema específico, será elaborar nas informações descrita nos artigos e, em seguida, ele irá resumir com algumas informações sobre como localizar conteúdo relacionado na Base de dados de Conhecimento. Dessa forma, você pode se as informações e aplicá-lo para melhor atender às suas necessidades.

Nesta edição, decidi compartilhar uma situação fornecida um tempo novamente. Basicamente, eu necessário um método reutilizável para transformar alguns dados em uma planilha do Microsoft Excel. Os dados já estava sendo feitos disponíveis como um DataSet. Tudo o que era necessário era levar os mesmos dados e transformá-lo em uma planilha do Excel. Tive a idéia de usando o XSLT para transformar os dados, mas tinha não ainda decidi como eu queria ser expostos. Um fator importante foi o requisito que a abordagem deve facilitar a reutilização posteriormente se necessário. Para ver se já havia um exemplo de fazer isso na Base de dados de Conhecimento, fiz uma pesquisa rápida usando as seguintes palavras-chave:
  • kbaspnetsearch
  • transformar
  • kbexcelsearch
  • kbhowtomaster
Essa pesquisa retornou o seguinte artigo como um dos resultados:
319180Como transformar um DataSet a planilha XML para o Excel usando o Visual Basic .NET e ASP.NET
O artigo abordados uma das soluções que eu já foi considerar. Essa solução estava escrevendo um HttpHandler para fazer o trabalho. A vantagem sobre como usar a abordagem de HttpHandler é que praticamente tinha uma coisa para mim: levou cuidado de transformar os dados em um formato que o Excel pode abrir. No meu caso, o destino era Microsoft Excel 2002. Como realmente reunidas meus dados era uma tarefa que pode ser transferida para alguns outro componente de acesso de dados no aplicativo e a consulta diferenciação valores podem ser recuperados usando variáveis de propriedade QueryString . O uso de variáveis de propriedade QueryString torna reutilizar a solução bem fácil.

Se você visualizar o artigo, você encontrará as partes mais interessantes a serem código HttpHandler e o arquivo XSLT que é usado para transformar os dados. A solução no artigo descreve o uso de um DataSet, mas você também pode aplicar esse tipo de solução para documentos XML simples. Essa solução cria uma classe XmlDataDocument que se baseia o DataSet, e a solução executa a transformação na classe XmlDataDocument . Se você não estiver familiarizado com a classe XmlDataDocument , você ainda pode implementar a solução com quase nenhuma dificuldade. Incluí alguns links adicionais que abordam a classe XmlDataDocument no final desta coluna.

Como ler o artigo, tente a considerar que o código oferece uma idéia para você começar sem desnecessariamente piorar mais a solução. Você pode tirar a solução como é, mas você precisará considerar usar procedimentos armazenados e fornecer algumas lógica em seu código de manipulação de erro adicionais. Você também pode encontrar o que você deseja retornar o resultado como uma pasta de trabalho do Excel que contém várias páginas de planilha. Enquanto o artigo não cobre isso diretamente, se você examinar como o DataSet se relaciona com o código XSLT, você irá notar que ele é muito simples retornar os resultados dessa maneira. Você pode adicionar tabelas adicionais ao DataSet. Em seguida, você pode adicionar a lógica de transformação no código XSLT para cada DataTable usando seu nome. O exemplo está fazendo isso já, mas somente para um único DataTable. Para obter mais informações, consulte o link "Referência de planilha XML", posteriormente neste artigo.

Você também pode perceber que o código no artigo 319180 foi gravado no Microsoft Visual Basic. NET. Isso é bom, mas geralmente gravar no Microsoft Visual translation from VPE for Csharp. NET. Converter o código de Visual Basic .NET para .NET translation from VPE for Csharp Visual é bastante direto frente. Para evitar que você precise fazer isso, criarei uma versão duplicada no .NET translation from VPE for Csharp Visual que será entre 319180 referenciado no. Em geral, tentamos para cobrir o Visual Basic .NET e .NET translation from VPE for Csharp Visual com todos os artigos "Instruções", mas às vezes, alguns podem ser ignorados. Para todos os artigos que destaque nesta coluna, fará com que cada tentativa para garantir que elas são suportadas pelo menos dois desses idiomas.

Bem, que é sobre ele. Fique à vontade enviar qualquer idéias que você tenha sobre os requisitos de suporte. Na verdade, alguém irá lê-las, promete. Além disso, não se esqueça fazer check-out as dicas de pesquisa de palavra-chave que são listadas no final do artigo. Cada edição desta coluna terminará com algumas dicas de pesquisa que estão relacionadas ao determinado artigo Knowledge Base que está sendo realçado. Você pode salvar muita tempo e problemas se você compreender como pesquisar a base de dados de Conhecimento.
Mais Informações
Classe XmlDataDocumentClasse XmlResolver Classe XslTransform Método XslTransform.TransformReferência de planilha XML

Dicas de pesquisa do Knowledge

  • Quando você visite http://support.microsoft.com e clicar em Search the Knowledge Base , tente limitar sua pesquisa selecionando o produto mais relevante. Por exemplo, clique em ASP.NET e não Visual Studio .NET ou Todos os produtos na lista Selecione um produto Microsoft .
  • Quando os artigos da Base de dados de Conhecimento são criados, eles têm específicos "elementos de produto" e palavras-chave que estão associados com eles. Se você souber palavras-chave associadas a um produto ou tecnologia, tente usar em vez de seus termos em inglês mais genéricos durante as pesquisas iniciais. Por exemplo, para localizar artigo 319180, usamos a seqüência de caracteres de pesquisa kbaspnetsearch e transformação e kbexcelsearch e kbhowtomaster .
    • As palavras-chave kbaspnetsearch e kbexcelsearch referem-se a todas as versões do Excel e do ASP.NET. Você também pode usar uma palavra-chave versão específica para limitar os resultados. Por exemplo, as palavras-chave kbASPNet100 e kbASPNet110 restringir os artigos que são retornados ao ASP.NET 1.0 e ASP.NET 1.1.
    • A palavra-chave kbhowtomaster é usada limitar a pesquisa para artigos com base no formato "Instruções". Outros formatos de artigo incluem o seguinte:
      • Informativo ( kbinfo )
      • Bug ( kbbug )
      • Hotfix ( kbqfe )

Proprietăți

ID articol: 871040 - Ultima examinare: 05/18/2007 02:45:07 - Revizie: 2.4

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1

  • kbmt kbasp kbhowto KB871040 KbMtpt
Feedback