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.

Subir un archivo CSV a Azure SQL o Blob Storage al hacer clic en el botón.

Estoy en el proceso de crear una aplicación web que permita a los usuarios subir un archivo CSV a una base de datos Azure SQL o un contenedor de almacenamiento de blobs, lo que se pueda hacer con JavaScript. No tengo mucha experiencia en programación y esperaba que alguien pudiera guiarme en la dirección correcta.

Hasta ahora, lo único que tengo es una página web HTML simple con los botones que necesito:
enter image description here

En este momento, al hacer clic en “Choose File”, se abrirá el explorador de archivos para que el usuario pueda subir su archivo CSV. Mi objetivo es que cuando un usuario elija un archivo y haga clic en “Submit”, el archivo que carguen (solo CSV) se importará en una tabla SQL que crearé.

¿Es esto posible con JavaScript? Si es así, ¿alguien puede darme un ejemplo de cómo lograr esto, o indicarme si necesito usar un lenguaje diferente para hacerlo?

Esperaba que fuera algo así:


<input type="file" id="upload1">
<input onclick="upload()" id="submitMain" type="submit">


function upload(){
//subir archivo a SQL
}

Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Subir un archivo CSV a Azure SQL Database o Blob Storage Container utilizando JavaScript

    Como experto en TI especializado en JavaScript, HTML, aplicaciones web y bases de datos de Azure SQL, puede crear una aplicación web que permita a los usuarios cargar un archivo CSV a una base de datos de Azure SQL o un contenedor de Blob Storage. Estos son los pasos que puede seguir para lograrlo:

    Página web HTML con botones

    Cree una página web HTML con los siguientes botones:

    <input type="file" id="upload1">
    <input onclick="upload()" id="submitMain" type="submit">
    

    El botón “Seleccionar archivo” abrirá el explorador de archivos para que un usuario pueda cargar su archivo CSV. El botón “Enviar” activará la función upload().

    Importar archivo CSV a tabla SQL

    Para importar el archivo CSV a una tabla SQL que creará, puede utilizar el siguiente fragmento de código como ejemplo:

    function upload() {
        var fileInput = document.getElementById('upload1');
    
        // Comprobar si se ha cargado un archivo CSV
        if (fileInput.files.length > 0) {
            var file = fileInput.files[0];
            var reader = new FileReader();
    
            // Leer el contenido del archivo
            reader.readAsText(file);
    
            // Procesar el contenido del archivo
            reader.onload = function(event) {
                var csvFile = event.target.result;
                var lines = csvFile.split('\n');
                var headers = lines[0].split(',');
                var data = [];
    
                // Crear un array de objetos JSON
                for (var i = 1; i < lines.length; i++) {
                    var obj = {};
                    var currentline = lines[i].split(',');
    
                    for (var j = 0; j < headers.length; j++) {
                        obj[headers[j]] = currentline[j];
                    }
                    data.push(obj);
                }
    
                // Enviar datos a Azure SQL
                var xhr = new XMLHttpRequest();
                xhr.open('POST', 'https://suAzureSQLServer.com/api/import');
                xhr.setRequestHeader('Content-Type', 'application/json');
                xhr.send(JSON.stringify(data));
            }
        } else {
            alert("No se ha elegido ningún archivo.");
        }
    }
    

    Este fragmento de código realiza los siguientes pasos:

    1. Comprobar si se ha cargado un archivo CSV.
    2. Leer el contenido del archivo utilizando el objeto FileReader.
    3. Dividir el contenido del archivo en líneas utilizando el caracter de salto de línea \n.
    4. Extraer las cabeceras de la primera línea del contenido del archivo.
    5. Crear un array de objetos JSON que represente cada línea posterior del contenido del archivo.
    6. Enviar el array de objetos JSON a un servidor de Azure SQL utilizando un objeto XMLHttpRequest.

    Resumen

    En resumen, puede utilizar JavaScript para cargar un archivo CSV a una base de datos de Azure SQL o un contenedor de Blob Storage. Solo necesita crear una página web HTML con botones para activar una función que maneje el proceso de carga. En la función, puede utilizar el objeto FileReader para leer el contenido del archivo, extraer los datos que necesita y enviarlos a un servidor de Azure SQL utilizando un objeto XMLHttpRequest.

Comments are closed.