Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 49496|Resposta: 2

[Fonte] Explicação detalhada do Excel da Operação NPOI

[Copiar link]
Postado em 2021-5-16 21:04:14 | | | |
O NPOI pode ler e escrever documentos em Word ou Excel sem o Office instalado. NPOI é um projeto open source em C# para leitura e escrita de documentos componentes Microsoft OLE2, como Excel e WORD.
Revisar:

Julgamento NPOI sobre o tipo de data da célula
https://www.itsvse.com/thread-9649-1-1.html

Importar Imagens para Planilhas Excel usando NPOI [com código-fonte]
https://www.itsvse.com/thread-9477-1-1.html

O NPOI define a largura e a altura das células
https://www.itsvse.com/thread-3522-1-1.html

. Operação de leitura e escrita NPOI plug-in de tabela Excel para Net
https://www.itsvse.com/thread-2288-1-1.html

Nome da assembleia
módulos/namespaces
ilustrar
NPOI.DLL
NPOI. POIFS
Biblioteca de leitura/gravação de atributos de documentos OLE2/ActiveX
NPOI.DLL
NPOI. DDF
Biblioteca de leitura/escrita de desenho do Microsoft Office
NPOI.DLL
NPOI. HPSF
Biblioteca de leitura/gravação de documentos OLE2/ActiveX
NPOI.DLL
NPOI. HSSF
Biblioteca de leitura/gravação em formato de BIFF do Microsoft Excel (Excel 97-2003, doc)
NPOI.DLL
NPOI. SS
Interface pública do Excel e motor de cálculo de fórmulas do Excel
NPOI.DLL
NPOI. Util
A biblioteca básica oferece muitas funções úteis para o desenvolvimento de outros projetos em formato de leitura/escrita de arquivos
NPOI. OOXML.DLL
NPOI. XSSF
Biblioteca de leitura e escrita no formato Excel 2007 (xlsx)
NPOI. OOXML.DLL
NPOI. XWPF
Biblioteca de leitura/escrita no formato Word 2007 (docx)
NPOI. OpenXml4Net.DLL
NPOI. OpenXml4Net
Biblioteca subjacente de leitura e gravação do pacote zip OpenXml
NPOI. OpenXmlFormats.DLL
NPOI. OpenXmlFormatos
Biblioteca de relacionamento de objetos OpenXml do Microsoft Office

HSSFWorkbook: é uma versão do Excel 2003 ou anterior (incluindo 2003) com uma extensão .xls
XSSFWorkbook: é a versão do Excel 2007 com .xlsx extensão
Reconhece automaticamente versões do Excel

Ao ler Excel, o npoi chama o WorkbookFactory.Create para reconhecer automaticamente a versão:



Endereço do código-fonte:O login do hiperlink está visível.



Código de implementação:

XSSFWorkbook 2007 lança uma Impossível acessar uma exceção de Stream fechada



Código de teste:



Ao exportar um arquivo para um fluxo, chamar o método Write gera uma exceção:



Exceção não resolvida. System.ObjectDisposedException: Não é possível acessar um fluxo fechado.
   at System.IO.MemoryStream.Seek(deslocamento Int64, localização SeekOrigin)

O HSSFWorkbook não apresenta esse problema, e não há como sobrecarregar a escrita da interface do IWorkbook, como mostrado na figura abaixo:



MasO objeto XSSFWorkbook terá um parâmetro leaveOpen adicional, endereço do código-fonte:O login do hiperlink está visível.



Solução 1:

Solução 2:

Crie um novo objeto NpoiMemoryStream e substitua o método Close da seguinte forma:

Use da seguinte forma:

Exceção do CopySheet do XSSFWorkbook

Quando a folha é meu modelo personalizado, chamar o método CopySheet gera a seguinte exceção:

Referência de objeto não definida como uma instância de um objeto.

Folha de clonagem usando CloneSheet, o código é o seguinte:



(Fim)




Anterior:Redis MISCONF O Redis está configurado para salvar snapshots do RDB
Próximo:Como salvar um stream em um arquivo em C#/.NET
Postado em 2021-9-17 09:46:51 |
kk learn
Postado em 29-01-2023 15:03:59 |
Aprenda com a pequena
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com