es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Editar un archivo de Excel existente en C# y guardarlo en otro lugar utilizando NPOI.

Estoy utilizando NPOI en mi aplicación de consola .net5.
El SDK de mi proyecto y el paquete de NPOI que instalé son los siguientes:

<project sdk="Microsoft.NET.Sdk">

  <propertygroup>
    <outputtype>Exe</outputtype>
    <targetframework>net5.0</targetframework>
  </propertygroup>

  <itemgroup>
    <packagereference include="DotNetCore.NPOI" version="1.2.3"></packagereference>
  </itemgroup>

</project>

Código:

static void Main(string[] args)
{
    IWorkbook wb = null;
    using (FileStream fs = new FileStream(@"C:\Users\xxx\Downloads\Account.xlsx", FileMode.Open, FileAccess.Read))
    {
        wb = new XSSFWorkbook(fs);
    }

    ISheet sht = wb.CreateSheet("test");
    sht.CreateRow(0).CreateCell(0).SetCellValue(0);

    using (FileStream fs = new FileStream(@"C:\Users\xxx\Downloads\Test.xlsx", FileMode.Create, FileAccess.Write))
    {
        wb.Write(fs);
    }
}

Obtengo un archivo de Excel ‘Test.xlsx’ de 0KB que no se puede abrir.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basado en el fragmento de código proporcionado y la información del paquete, parece que el problema puede estar en las rutas de archivo utilizadas en el código.

    • Asegúrese de que las rutas de archivo utilizadas en los objetos FileStream sean correctas y que los archivos existan en las ubicaciones especificadas.
    • Además, verifique los permisos de FileAccess de los archivos que se están utilizando.

    Si las rutas de archivo y los permisos son correctos, intente agregar alguna manipulación de errores al código para capturar cualquier excepción potencial que pueda estar causando el problema.

    En general, es difícil determinar el problema exacto sin más información y contexto sobre el proyecto y sus requisitos, pero verificar las rutas de archivo y los permisos, y agregar manipulación de errores son buenos puntos de partida para solucionar el problema.

Comments are closed.