Release v0.9.8#42
Merged
albertomandlate merged 16 commits intomainfrom Jun 7, 2025
Merged
Conversation
Alterada a sintaxe de criação da instância de `XLWorkbook` para uma forma mais concisa e moderna, utilizando a inferência de tipo do C# 9.0.
Adicionado o valor `ExcelOld` ao enum `FormatoOutput` em `AuditFile.cs` para incluir mais opções de formato. Modificado o método `GenerateBytesExcel` em `MozambiqueSaftGenerator.cs` para aceitar um parâmetro `formatoOutput`, permitindo maior flexibilidade na geração de bytes. Incluída a referência ao pacote `NPOI` na versão `2.7.3` no projeto `SAF-T.Mozambique.csproj` para suporte adicional à manipulação de arquivos Excel.
Foi adicionada uma nova sobrecarga do método `GenerateBytesExcel` na interface `ISaftGenerator`, permitindo um parâmetro adicional `FormatoOutput` com valor padrão. O método foi reescrito para utilizar a biblioteca NPOI em vez de ClosedXML, alterando a lógica de criação e preenchimento do arquivo Excel. O cabeçalho da planilha agora é criado com `CreateRow` e `CreateCell`, e o tratamento de exceções foi atualizado para capturar `ArgumentNullException`, melhorando a robustez do código.
Atualiza o código para suportar a geração de arquivos XLSX e XLS a partir de um arquivo de auditoria. As mensagens de console foram ajustadas para indicar a criação de múltiplos arquivos, e a mensagem final foi modificada para refletir que vários arquivos foram criados com sucesso.
Alterações no arquivo `MozambiqueSaftGenerator.cs` para remover as importações das bibliotecas `ClosedXML.Excel`, `NPOI.HSSF.UserModel`, `NPOI.SS.UserModel` e `NPOI.XSSF.UserModel`. Adicionada a importação de `Simansoft.SAFT.Mozambique.Models`. No arquivo `SAF-T.Mozambique.csproj`, removidas as referências aos pacotes `ClosedXML` e `NPOI`, indicando que essas bibliotecas não são mais necessárias no projeto.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Adicionado o suporte a gerar XLS
Contributor
There was a problem hiding this comment.
Pull Request Overview
Esta pull request introduz melhorias na geração de ficheiros e a manutenção do código para o projeto SAF-T Moçambique. As principais alterações são:
- Inclusão do suporte para ficheiros Excel no formato antigo (.xls) através da adição do enum ExcelOld e modificação do método GenerateBytesExcel.
- Substituição da biblioteca ClosedXML por NPOI para manipulação de ficheiros Excel.
- Simplificação e otimização do fluxo de trabalho do CodeQL.
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/SAF-T.Mozambique/SAF-T.Mozambique.csproj | Atualização da referência de biblioteca, trocando ClosedXML por NPOI. |
| src/SAF-T.Mozambique/Generators/MozambiqueSaftGenerator.cs | Adaptação da geração de ficheiros Excel usando NPOI e inclusão do suporte para o novo formato ExcelOld. |
| src/SAF-T.Core/Models/AuditFile.cs | Inclusão do enum ExcelOld para suportar ficheiros XLS. |
| src/SAF-T.Core/Interfaces/ISaftGenerator.cs | Adição da sobrecarga do método GenerateBytesExcel para permitir especificação do formato de output. |
| samples/SAF-T.Examples/MozambiqueDemo/BasicMozDemo.cs | Atualização da demonstração para gerar ficheiros XLSX, XLS e XML, com mensagens de feedback atualizadas. |
| .github/workflows/codeql.yml | Simplificação e ajuste do fluxo de trabalho, incluindo alterações no agendamento e permissões. |
| row.CreateCell(26).SetCellValue(factura.DocumentTotals?.TaxPayable.ToString() ?? "0"); | ||
| row.CreateCell(27).SetCellValue(factura.DocumentTotals?.GrossTotal.ToString() ?? "0"); | ||
| row.CreateCell(28).SetCellValue(auditFile.Header?.CurrencyCode ?? string.Empty); | ||
| row.CreateCell(29).SetCellValue("1"); // Taxa de Câmbio fixa como 1 |
Contributor
Author
There was a problem hiding this comment.
Esta variável não está ainda declarada. Numa próxima revisão, será implementada
albertomandlate
commented
Jun 7, 2025
| row.CreateCell(26).SetCellValue(factura.DocumentTotals?.TaxPayable.ToString() ?? "0"); | ||
| row.CreateCell(27).SetCellValue(factura.DocumentTotals?.GrossTotal.ToString() ?? "0"); | ||
| row.CreateCell(28).SetCellValue(auditFile.Header?.CurrencyCode ?? string.Empty); | ||
| row.CreateCell(29).SetCellValue("1"); // Taxa de Câmbio fixa como 1 |
Contributor
Author
There was a problem hiding this comment.
Esta variável não está ainda declarada. Numa próxima revisão, será implementada
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Este pull request introduz mudanças significativas no projeto SAF-T Moçambique, com foco na melhoria da geração de ficheiros, simplificação de fluxos de trabalho e aprimoramento da manutenção do código. As principais atualizações incluem a adição de suporte para geração de ficheiros Excel no formato antigo
.xls, a substituição da bibliotecaClosedXMLporNPOIe a simplificação da configuração do fluxo de trabalho do CodeQL.Melhorias na Geração de Ficheiros:
Adicionado suporte para geração de ficheiros
.xlsjuntamente com.xlsx, introduzindo um novo valor enumExcelOldemFormatoOutpute atualizando o métodoGenerateBytesExcelpara lidar com ambos os formatos.(
src/SAF-T.Core/Models/AuditFile.cs- [1]src/SAF-T.Core/Interfaces/ISaftGenerator.cs- [2]src/SAF-T.Mozambique/Generators/MozambiqueSaftGenerator.cs- [3])Substituída a biblioteca
ClosedXMLporNPOIpara manipulação de ficheiros Excel, permitindo suporte ao formato.xlse melhorando a compatibilidade.(
src/SAF-T.Mozambique/Generators/MozambiqueSaftGenerator.cs- [1]src/SAF-T.Mozambique/SAF-T.Mozambique.csproj- [2])Simplificação do Fluxo de Trabalho do CodeQL:
(
.github/workflows/codeql.yml- [1][2])
Melhorias no Feedback ao Utilizador:
(
samples/SAF-T.Examples/MozambiqueDemo/BasicMozDemo.cs- samples/SAF-T.Examples/MozambiqueDemo/BasicMozDemo.csL50-R69)