特此感谢 麦子仲肥 的资料与指导!
如果您是使用 ODBC 连接到 Microsoft Office Excel 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ= xls/xlsx/xlsm/xlsb file”
OBDC连接方式不支持获取Excel的Sheet名!ADO或OLE方式的可以!
ADO连接字条串:
Provider=Microsoft.Jet.OLEDB.4.0;Mode=Read;Data Source="+Excel文件全名+";Extended Properties='Excel 8.0;HDR=YES'"
//仅支持Excel2003(xls)的读取和创建、写入
Provider=Microsoft.ACE.OLEDB.12.0;Mode=Read;Data Source="+Excel文件全名+";Extended Properties='Excel 12.0 XML;HDR=YES'
//支持Excel2003(xls)和Excel2007(xlsx)的读取,支持Excel2007(xlsx)的创建、写入,Excel2003的创建需要把Excel 12.0 XML改为Excel 8.0!
//为Excel 12.0(不带 XML)时创建出来的文件,ADO可以读取,但Excel无法打开!
注意事项:
1、ADO方式创建Excel时,Sheet名不支持带$,所以创建出来的Sheet会有2个(用Excel打开时只有一个),一个不带$,一个带$;
2、在没有向带$的Sheet操作时,向不带$的Sheet进行的INSERT、DELETE、UPDATE,带$的Sheet也会同步进行,但对带$的Sheet操作之后,只能对带$的Sheet操作了;
3、对带$的Sheet进行INSERT、DELETE、UPDATE操作时,不会更新到不带$的Sheet!
麦子仲肥<wg0517@qq.com> 14:28:39
Str="DriverID=ODBC;ODBCAdvanced=\"ReadOnly=True;Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=E:\\ZQXX_20160825.xls\"";
FDC->ConnectionString=Str;
麦子仲肥<wg0517@qq.com> 14:28:54
FD就是用的ODBC