Search  
Thursday, May 24, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Office Automation  Import din Exce...
 Import din Excel 2007
 
 10/9/2010 7:59:20 PM
User is offlineCarmenB
1 posts


Import din Excel 2007
 (N/A)

Lucrez cu VFP8 si nu reusesc sa import fisiere facute cu Excel 2007; sunt nevoita sa salvez fisierele xls in versiunea Excel 5.0/95 95 pentru ca altfel nu mi le recunoaste si nu le pot importa iar la salvarea din format 2007 in format 95 imi trunchiaza fisierele la 16384 inregistrari. Partea frumoasa este ca pot exporta in format 95 fisiere dbf mai mari de 16384 inregistrari. S-a mai lovit cineva de problema asta si are o rezolvare pentru ea? Daca imi instalez VFP9 voi putea importa fisiere xls in format 2007? Multumesc anticipat pentru raspuns.

 

 10/9/2010 9:16:35 PM
User is offlineDaniel Buduru
2334 posts
1st




Re: Import din Excel 2007
 (N/A)
Incepand cu Office 2007 MS utilizeaza un nou format pentru documente.
Fisierele xlsx, create cu Excel 2007, nu pot fi deschise in VFP - si nici in alte aplicatii care pot deschide fisiere xls.
Fie se utilizeaza un convertor de format, fie se deschide folosind SQLEXEC.

Daca pe sistemul pe care se lucreaza nu este instalat si Excel 2007, se descarca si instaleaza driverul de aici:
http://www.microsoft.com/downloads/en/details.aspx?familyid=7554f536-8c28-4598-9b72-ef94e038c891&displaylang=en

Comexiunea se realizeaza cu SQLSTRINGCONNECT:

lcConstr = [Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=]
xlFile='c:\test.xlsx'
lnConn=Sqlstringconnect(lcConstr+Trim(xlfile))
lnretval= SQLExec(crsFiles.connhandle,'SELECT * from ['+sheet_name+']','crs'+sheet_name)

Daca nu se cunoaste numele pagii care trebuie importata, acesta se poate afla astfel:
lnretval=SQLTables(lnConn,"","crssheets") && se obtine un cursor cu foile din fisierul excel

*!* Se extrage fiecare foaie intr-un cursor
Select (lcCrsSheets)
Scan All
        lcTable=Trim(table_name)
          lnretval= SQLExec(crsFiles.connhandle,'SELECT * from ['+lcTable+']','crs'+table_name)
Endscan


Daniel Buduru
  Visual FoxPro  Office Automation  Import din Exce...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement