2021-04-15qt lee el archivo xlsx

1: Agregue el módulo QT+=axcontainer al archivo del proyecto.

2: El archivo de encabezado contiene #include

3: Defina el objeto QAxObjec y especifique el objeto principal.

4. Conectar controles. Generalmente hay dos tipos de controles, excel y wps, la mayoría de los cuales son excel, pero hay que prestar atención a si Excel está instalado en la computadora y si excel está activado, porque ambas situaciones harán que la lectura falle.

Ejemplo:

//Excel no está instalado en la computadora del usuario y el valor de retorno de SetControl es cero.

//La segunda declaración if es para determinar si el usuario ha instalado wps. Si es así, abra el control wps.

Si (!excel.setControl("Excel.App"))

{

¿Si (!excel.setControl("ket.App")? //Conectar el control de Excel

{

QMessageBox::about(NULL, "Pregunta", "¿Instala Excel o WPS?");

Regresar ;

}

}

5: Establece las propiedades del objeto de archivo xlsx

Ejemplo:

excel.setProperty("Visible ", true); //Configurar el archivo xlsx para que sea visible

6: Obtener la colección de libros

Ejemplo:

? * work_books = excel . query subobject(" WorkBooks ");

7: Abra nuestro archivo .xlsl llamando a la función en COM

Ejemplo:

p>

Work_Books-> llamada dinámica(" Open(const QString &)", QString(" D:/luohui Qing/Qt excel . xlsx "));

/*Llamar al función denominada Open en COM, pasando el segundo parámetro como parámetro formal de Open*/

8: Obtener el libro activo

Ejemplo:

QAxObject * work_book = excel. query subobject("libro de trabajo activo"); //Obtener el libro de trabajo activo

9: Obtener todas las hojas de trabajo

Ejemplo:

QAxObject * work_sheets = work_book-> query subobject("WorkSheets"); //Obtiene todas las hojas de trabajo, como se muestra en la figura

10: obtiene el número de hojas de trabajo

<. p>Ejemplo:

intsheet_count = work_sheets-> atributo("count"). toInt(); //Obtiene el número de hojas de trabajo

11. el número de hojas de cálculo obtenidas es mayor que cero, necesitamos operar la tabla, como por ejemplo:

11.1: Obtener la tabla en nuestro libro de trabajo

Ejemplo:

QAxObject * work_sheet = work_book-> querySubObject("Sheets(int)", 1);

/*Obtener la tabla A del libro*/

11.2: Obtener un conjunto de valores de nuestra tabla.

Ejemplo:

QAxObject * rango usado = hoja de trabajo-> subobjeto de consulta(" rango usado ");

QVariant var = rango usado- & gt; llamada dinámica(" valor ");

11.3: Almacenar el valor que obtenemos en un contenedor QVariantList.

Ejemplo:

QVariantList varrow content = var . to list();

11.4: Utilice variables enteras constantes para guardar la cantidad de datos.

11.5: Tenga en cuenta que el orden de almacenamiento de los datos en el contenedor es fila por fila.

12: Una vez que hayamos terminado. xslx, debe cerrar wps o excel para evitar que el proceso permanezca.

Ejemplo:

excel llamada dinámica(" Quit(void)");