pExcel->dynamicCall("SetVisible(bool)", "true");//true显示窗体,false不显示窗体
该语句可以控制读Excel时是否打开Excel窗体。最开始使用了下面的代码读Excel,发现只有在显示窗体(true)时,才能读取Excel表格内容,为false时,程序编译通过但是运行时会引起中断。
void QtExcel0606::importSlot()
{
if (bisOpen)
{
return;
}
QString caption = "";
QString dir = "";
QString fileName = QFileDialog::getOpenFileName(this, caption, dir,
"Excel 文件(*.xls *.xlsx)");
if (fileName != "")
{
QAxObject *pExcel = new QAxObject("Excel.Application");
if (pExcel)
{
pExcel->dynamicCall("SetVisible(bool)", "true");//true显示窗体,false不显示窗体
QString sXlsFile = fileName;// "E:/haha6.xlsx";
QFile f(sXlsFile);
QAxObject *pWorkbooks = pExcel->querySubObject("WorkBooks"); //获取工作簿
QAxObject *pWorkbook = pWorkbooks->qu