Excel a CSV

Cómo convertir Excel a CSV en línea

Los archivos XLSM son similares a los formatos de archivo XLM, pero se basan en el formato Open XML y admiten macros. Por otro lado, CSV es una opción más viable porque CSV es legible para humanos, el formato CSV está determinado por un esquema sencillo y los archivos CSV se pueden leer con casi cualquier editor de texto. Además, el CSV se puede utilizar para importar datos directamente dentro de varias aplicaciones sin realizar ninguna modificación en el archivo de entrada. En este artículo, exploraremos los detalles de cómo convertir XLSM a CSV.

API de conversión de Excel a CSV

Aspose.Cells Cloud se desarrolló específicamente para permitir a los desarrolladores modificar o convertir hojas de cálculo de Microsoft Excel y OpenOffice en la nube, sin ninguna dependencia de software. Para comenzar a utilizar el SDK de .NET, el primer paso es instalarlo, y está disponible para descargar en NuGet y GitHub. Ejecute el siguiente comando en la ventana de terminal para realizar la instalación de NuGet:

nuget install Aspose.Cells-Cloud

En caso de que esté utilizando .NET CLI, ejecute el siguiente comando:

dotnet add package Aspose.Cells-Cloud

Consola del administrador de paquetes

Si utiliza Visual Studio, el paquete también se puede instalar mediante la consola del administrador de paquetes. Ejecute el siguiente comando:

PM> Install-Package Aspose.Cells-Cloud

Ahora necesitamos crear una cuenta gratuita en el panel de control de Aspose.Cloud donde podemos usar cuentas de GitHub o Google existentes o hacer clic en el botón Crear una nueva cuenta y obtener credenciales de cliente.

Conversión de XLSM a CSV en C#

Siga las instrucciones que se especifican a continuación para realizar las operaciones de conversión utilizando el fragmento de código C# .NET.

  • El primer paso es crear una instancia de CellsApi mientras se pasan los detalles de ClientID y ClientSecret como argumentos.
  • En segundo lugar, defina el archivo de entrada, el nombre del archivo resultante y el formato del archivo resultante.
  • En tercer lugar, cargue el XLSB en la instancia File.OpenRead
  • El siguiente paso es inicializar la operación de conversión utilizando el método CellsWorksheetsGetWorksheet(…)
  • Por último, utilice File.Create para guardar la salida en la unidad del sistema (como se especifica en el método saveToDisk(…))
// Para obtener ejemplos completos y archivos de datos, visite 
https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/

// Obtenga las credenciales del cliente desde https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
        
// Crea una instancia de CellsApi mientras pasas ClientID y ClientSecret
CellsApi instance = new CellsApi(clientID, clientSecret);

// nombre del archivo de entrada de Excel
string name = "TestCase.xlsm";
// nombre del archivo resultante
string resultantFile = "converted.csv";

// formato del archivo resultante
string format = "CSV";

// nombre de la hoja de trabajo en el libro de trabajo
string sheetName = "Sheet2";
        
try
{
    // cargar archivo XLSM desde la unidad local
    using (var file = System.IO.File.OpenRead(@"C:\Users\Downloads\" + name))
    {
        // Realizar la conversión y guardar la salida en una instancia de Stream
        var response = instance.CellsWorksheetsGetWorksheet(name, sheetName, format, null, null, null, null, null); 
        
        if (response != null && response.Equals("OK"))
        {
            // Mostrar mensaje de confirmación en la consola
            Console.WriteLine("Successfully converted XLSM to CSV !");
            Console.ReadKey();
        }
    
    // Llamar al método para guardar la salida en la unidad del sistema
    saveToDisk(response, @"C:\Users\shahbnay\Downloads\" + resultantFile);
    }
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// Método personalizado para guardar la transmisión en el sistema
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}
Vista previa de Excel a CSV

Imagen 4: Vista previa de conversión de XLSM a CSV.

Convertir Excel a CSV mediante comandos cURL

Aspose.Cells Cloud está desarrollado según la arquitectura REST, por lo tanto, se puede acceder fácilmente desde cualquier plataforma mediante los comandos cURL. Sin embargo, para garantizar el aspecto de privacidad, primero debemos generar un token de acceso JWT basado en el ID de cliente y el secreto de cliente especificados en panel de Aspose.Cloud. Ejecute el siguiente comando para generar el token JWT.

curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

El método más sencillo para realizar la conversión es a través de la API PostDocumentSaveAs. Simplemente proporcione el nombre del archivo de entrada y el nombre del archivo resultante y, con un solo comando, se completa el trabajo. Sin embargo, en este método, la primera hoja de cálculo del libro de trabajo XLSM se convierte al formato CSV.

curl -v -X POST "https://api.aspose.cloud/v3.0/cells/TestCase.xlsm/SaveAs?newfilename=TestCase.csv&isAutoFitColumns=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{}"

Otro enfoque es el uso de la API GetWorkBook para realizar la operación de conversión. Se proporciona el XLSM de entrada disponible en el almacenamiento en la nube a través del parámetro de nombre, el valor CSV se proporciona contra el parámetro de formato y el archivo resultante se proporciona contra el parámetro outPath.

curl -X GET "https://api.aspose.cloud/v3.0/cells/TestCase.xlsm?format=CSV&isAutoFit=false&onlySaveTable=false&outPath=Converted.csv" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

El cuerpo de la respuesta tendrá la siguiente salida

{
  "FileInfo": {
    "Name": "Converted.csv",
    "Size": 71
  },
  "Code": 200,
  "Status": "OK"
}

Convertir XLSM en parámetro de solicitud

En caso de que necesite realizar la conversión del archivo XLSM desde su unidad local, cárguelo mediante la instancia Request y utilice la API PutConvertWorkBook. Utilice el siguiente comando para realizar la conversión.

curl -X PUT "https://api.aspose.cloud/v3.0/cells/convert?format=CSV&outPath=Converted.csv" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{}}

Convertir una hoja de trabajo específica a CSV

En caso de que necesite convertir una hoja de cálculo específica al formato CSV, intente usar la API GetWorkSheetWithFormat y proporcione el nombre de la hoja de cálculo en un parámetro sheetName. En caso de que no proporcionemos el parámetro -o, los valores de la hoja de cálculo se muestran en la consola.

curl -v -X GET "https://api.aspose.cloud/v3.0/cells/TestCase.xlsm/worksheets/Sheet2?format=CSV&verticalResolution=0&horizontalResolution=0" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Resultant.csv
Vista previa de conversión de XLSX a CSV

Imagen 5: Vista previa de la salida en la consola si no se proporciona el parámetro del archivo de salida.

Conclusión

En este artículo, hemos analizado los detalles de cómo convertir XLSM a CSV. Se han explicado los pasos de conversión para .NET Cloud SDK y hemos aprendido cómo podemos convertir Excel a CSV utilizando el comando cURL. Tenga en cuenta que nuestros SDK son de código abierto y tienen una licencia MIT. Puede usarlos e incluso personalizarlos de forma totalmente gratuita. El código fuente completo está disponible en GitHub.

Por último, pero no por ello menos importante, también se puede acceder a la API de Cloud a través de la interfaz Swagger dentro de un navegador web.

Enlaces útiles

Artículos relacionados

Te recomendamos visitar los siguientes enlaces para conocer más sobre