想利用C++ Builder ole操作excel取值读入数据库
已经可以实现单元格取值 可是效率太低
想尝试range操作取区域一行一列的值放入数组提高效率
可是创建range对象时
运行程序总是报错ole error 800a03ec
代码如下 求解决方案
Variant ExcelApp,Workbook1,Sheet1,Range1,Borders1;
ExcelApp = Variant::CreateObject ("Excel.Application");
String strex = "E:\\ha.xlsx";
ExcelApp.PG("workbooks").FN("open",strex.c_str()) ; //打开工作簿
ExcelApp.PS("Visible", (Variant)true);//Excel可见
Workbook1 = ExcelApp.PG("ActiveWorkBook");
Sheet1 = Workbook1.PG("ActiveSheet");
String strRange = "A1:E17";
Range1=Sheet1.PG("Range", strRange.c_str());
多谢妖哥指点迷津 附上妖哥的代码
Variant excelApp = CreateOleObject("Excel.Application");
String xlsFile = L"E:\temp\ccrun\123.xls";
excelApp.OlePropertyGet("Workbooks").OleFunction("open", WideString(xlsFile));
excelApp.OlePropertySet("Visible", True);
Variant workbook = excelApp.OlePropertyGet("ActiveWorkBook");
Variant sheet = workbook.OlePropertyGet("ActiveSheet");
String rangeText = L"A1:E17";
Variant range = sheet.OlePropertyGet("Range", WideString(rangeText));
int rowCount = range.OlePropertyGet("Columns").OlePropertyGet("Count");
ShowMessage(rowCount);