2021-04-15qt lee el archivo xlsx
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:
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: p>
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)");