Duomenų konvertavimas iš Microsoft Excel į DBF formatą. Duomenų eksportavimas į dBASE failą

dBASE yra viena iš seniausių duomenų bazių valdymo sistemų, o dBASE (DBF) failo formatas buvo naudojamas ilgą laiką. „Microsoft Access“. palaiko duomenų eksportavimą į šiuos dBASE failų formatus: dBASE III, dBASE IV, dBASE 5 ir dBASE 7.

pastaba kad dBASE palaikymas turi tokius reikalavimus.

    Office 365 prenumerata Jei esate „Office 365“ prenumeratorius, įsitikinkite, kad turite naujausią versiją Office versija. Jei esate IT profesionalas, tvarkantis „Office 365“ naujinimo procesą, apsilankykite puslapyje Kanalo leidimas ir sužinokite, kokie naujinimai pateikiami kiekviename kanale.

    Office 2016Įdiekite šiuos naujinimus nurodyta tvarka: 2017 m. gegužės 2 d. naujinimas, skirtas Office 2016 (KB3115501) ir 2017 m. gegužės 2 d. naujinimas, skirtas Access 2016 (KB3178700).

    „Office 2016“ spustelėjus paleisti leidimai Atnaujinimai taikomi automatiškai.

Duomenų eksportavimas į dBASE failą

Taip bus sukurtas dBASE failas nurodytoje vietoje ir formatu.

Access 2013 nepalaiko dBASE formato

Eksportavimas į dBASE nepalaikomas programoje Access 2013. Norėdami dirbti su dBASE failais, pabandykite naujovinti į savo Office 365 prenumeratą Eksportuoti į dBASE galima naudojant Office 365 prenumeratos versijas.

  • Pamoka

Šiame straipsnyje papasakosiu, kaip per priimtiną laiką į savo duomenų bazę ms sql serveryje įkelti daugybę didžiulių dbf failų, susidedančių iš milijonų įrašų.

Užduotis iš pirmo žvilgsnio nereikšminga. Galite naudoti vedlį SQL valdymo studijoje arba funkciją OPENROWSET per užklausą.

Tačiau pirmasis variantas po kelių bandymų buvo atmestas dėl įvairių nesklandumų ir poreikio į vieną lentelę įkelti daug failų (apie 100 failų). Be to, kraunant ilgą laiką, įvyko klaida.

Antrasis variantas taip pat netiko dėl skirtingo tvarkyklių bitumo ir serverio bitumo.

Kadangi failas yra tiesiog didžiulis, buvo nuspręsta jį perskaityti per srautą ir įrašyti į duomenų bazę. Toliau, perskaitę failo eilutę, turite įrašyti šią eilutę į lentelę. Pirmas dalykas, kuris atėjo į galvą, buvo naudoti įdėklą, tačiau rašymas šiuo atveju užtruktų per daug laiko.

Ir tada prisiminiau apie kitą įrašymo mechanizmą per SqlBulkCopy, kuris leidžia įkelti daugybę įrašų be įterpimo užklausų.
Tiesą sakant, tai yra SqlBulkCopy klasės naudojimas, per kurį rašyti reikia tik įdiegti IDataReader sąsają.

Taigi pradėkime nuo viešosios klasės BDFBulkReader sąsajos diegimo: IDataReader

Pradėkime nuo funkcijos, kuri grąžina dabartinio įrašo reikšmę:
viešasis objektas GetValue(int i) ( return R]; )
Leiskite atkreipti jūsų dėmesį į tai, kad failo laukai ir lentelės laukai gali būti išdėstyti skirtinga tvarka. Ir iš indekso norėčiau gauti atitinkamo lentelės lauko reikšmę. Todėl papildomai naudojau FieldIndex žodyną, kur laukų pavadinimai susieti su skaičiais sql lentelėje. Lauko pavadinimas paimamas skaičiumi, o reikšmė iš dbf failo skaitymo eilutės paimama pagal pavadinimą iš R žodyno. Dėl to n-ajam duomenų bazės indeksui GetValue pateiks atitinkamą reikšmę.
Žodynas R = naujas žodynas (); Žodynas ();

FieldIndex = naujas žodynas

Lentelei perduosime jau užpildytą FieldIndex, o R užpildys, kai skaitytuvas iškvies Read funkciją, kurią taip pat įdiegsime ateityje.

Taigi, konstruktorius: R = naujas žodynas (); Žodynas System.IO.FileStream FS; baitų buferis;< _FieldCount; i++) { FieldName[i] = System.Text.Encoding.Default.GetString(buffer, i * 32, 10).TrimEnd(new char { (char)0x00 }); FieldType[i] = "" + (char)buffer; FieldSize[i] = buffer; FieldDigs[i] = buffer; FieldsLength = FieldsLength + FieldSize[i]; } FS.ReadByte(); this.FieldIndex = FieldIndex; }

int_FieldCount;

Dabar pereikime prie bool Read(). Jei eilutė buvo sėkmingai perskaityta, ji bus grąžinta. Ir klaidinga, jei eilutė nebuvo perskaityta ir tuo pačiu buvo pasiekta duomenų pabaiga.

Viešoji bool Read() ( if (ReadedRow >= RowsCount) grąžina false; R.Clear(); buferis = naujas baitas; FS.ReadByte(); FS.Read(buferis, 0, buferis.Length); int Indeksas = 0 ; for (int i = 0; i< FieldCount; i++) { string l = System.Text.Encoding.GetEncoding(866).GetString(buffer, Index, FieldSize[i]).TrimEnd(new char { (char)0x00 }).TrimEnd(new char { (char)0x20 }); Index = Index + FieldSize[i]; object Tr; if (l.Trim() != "") { switch (FieldType[i]) { case "L": Tr = l == "T" ? true: false; break; case "D": Tr = DateTime.ParseExact(l, "yyyyMMdd", dfi); break; case "N": { if (FieldDigs[i] == 0) Tr = int.Parse(l, nfi); else Tr = decimal.Parse(l, nfi); break; } case "F": Tr = double.Parse(l, nfi); break; default: Tr = l; break; } } else { Tr = DBNull.Value; } R.Add(FieldName[i], Tr); } ReadedRow++; return true; }

Dar kartą priminsiu, kad ją iškvietus skaitymo eilutė bus įrašyta į R žodyną, kad vėliau skaitytojas perskaitytų.
Taigi, belieka įdiegti metodą, kuris grąžina laukų skaičių:

Public int FieldCount ( get ( return _FieldCount; ) )

Ir sąsajos šaknelės:

Public void Dispose() ( FS.Close(); ) public int Depth ( get ( return -1; ) ) public bool IsClosed ( get ( return false; ) ) public Object this ( get ( return new object (); ) ) public Objektas tai ( gauti ( grąžinti naują objektą (); ) ) public int ĮrašaiAfektuoti ( gauti ( grįžti -1; ) ) public void Uždaryti () ( ) public bool KitasResult() ( grąžinti true; ) public bool IsDBNull(int i) ( return false; ) public string GetString(int i) ( return ""; ) public DataTable GetSchemaTable() ( return null; ) public int GetOrdinal(eilutės pavadinimas) ( return -1; ) viešoji eilutė GetName(int i) ( return ""; ) viešas ilgas GetInt64(int i) ( grįžti -1; ) viešas int GetInt32(int i) ( grįžti -1; ) viešas trumpas GetInt16(int i) ( grįžti -1; ) viešas vadovas GetGuid(int i) ( return new Guid(); ) public float GetFloat(int i) ( return -1; ) public Type GetFieldType(int i) ( return typeof(string); ) public double GetDouble(int i) ( return -1; ) public dešimtainis GetDecimal(int i) ( return -1; ) public DateTime GetDateTime(int i) ( return new DateTime(); ) viešoji eilutė GetDataTypeName(int i) ( grąžinti ""; ) public IDataReader GetData(int i) ( grąžinti šį; ) public long GetChars(int i, long fieldoffset, char buffer, int bufferoffset, int ilgis) ( return -1; ) public char GetChar(int i) ( return " "; ) public long GetBytes(int i, long fieldOffset, byte buffer, int bufferoffset, int long) ( return -1; ) public byte GetByte(int i) ( return 0x00; ) public bool GetBoolean(int i) ( grąžina false; ) public int GetValues ​​(Objekto reikšmės) ( return -1; )

Kur Dispose() aš tiesiog uždarau failą.

Įdiegę sąsają, galite parašyti failo įkėlimo metodą:

Void SaveToTable(FileInfo dir, string TableName, string connestionString, žodynas FieldIndex) ( naudojant (var loader = naujas SqlBulkCopy(connestionString, SqlBulkCopyOptions.Default)) ( loader.DestinationTableName = TableName; loader.BulkCopyTimeout = 9999; loader.WriteToServer(new BDFBuld));

Tai viskas. Šiai funkcijai belieka perduoti failo vietą, lentelės pavadinimą, ryšio eilutę ir atitinkamą atitinkantį žodyną, pavyzdžiui:

Žodynas FieldIndex = naujas žodynas ();

FieldIndex.Add(0, "PAŠTO KODAS");

FieldIndex.Add(1, "IFNSFL");FieldIndex.Add(2, "TERRIFNSFL"); FieldIndex.Add(3, "IFNSUL"); FieldIndex.Add(4, "TERRIFNSUL"); FieldIndex.Add(5, "OKATO"); FieldIndex.Add(6, "OKTMO"); FieldIndex.Add(7, "ATNAUJINTI"); FieldIndex.Add(2, "TERRIFNSFL"); FieldIndex.Add(8, "NAMO NUMERIS"); FieldIndex.Add(9, "ESTSTATUS"); FieldIndex.Add(10, "BUILDNUM"); FieldIndex.Add(11, "STRUCNUM");FieldIndex.Add(12, "STRSTATUS"); FieldIndex.Add(13, "NAMO ID"); FieldIndex.Add(14, "HOUSEGUID"); FieldIndex.Add(15, "AOGUID"); FieldIndex.Add(16, "STARTDATE"); FieldIndex.Add(17, "ENDDATE"); FieldIndex.Add(18, "STATUSAS"); FieldIndex.Add(19, "NORMDOC");FieldIndex.Add(20, "COUNTER");Štai viskas, ačiū visiems už dėmesį, sėkmingo atsisiuntimo.Nors FieldIndex.Add(9, "ESTSTATUS"); dbf jau seniai svarstoma palikimas Sprendžiant iš daugybės klausimų internete, ši tema vis dar yra neatidėliotina užduotis. Ypač su tuo susidūriau bandydamas į stalą įdėti kortelę. Žemėlapis ArcGIS formato metaduomenys . Buvo prasminga juos skaityti tuo pačiu metu SQLServeris , kad nereikėtų rankiniu būdu rašyti daugiakampių, linijų ir kitų kartografinių objektų etikečių. Senais laikais FieldIndex.Add(9, "ESTSTATUS"); VisualFoxPro 6 ir SQLServer 7.0 yra nebuvo problema.

, bet nuo to laiko daug kas pasikeitė. Su išėjimuSQLServer 2005 MSDN pasirodė informacija, kad importavimo ir eksportavimo vedlys SQL serveris FieldIndex.Add(2, "TERRIFNSFL"); nepalaiko dBASE failų ir kitų DBF failų importo ir eksportavimo. Kaip sprendimą rekomenduojama naudoti SQL serverio integravimo paslaugas arba laipsnišką importavimą į Access arba Excel. ImportData:

1 pav

Nurodome kaip duomenų šaltinį.NetFrameworkDataProviderforODBC, nuo ODBCdabar vėl viskas, kaip Ryšio eilutė- šią ryšio eilutę:

Vairuotojas=(Microsoft dBase tvarkyklė (*.dbf));Šaltinio tipas=DBF;ŠaltinioDB=NA;Išskirtinis=Ne; NULL=Ne;Ištrinta=Ne;BackgroundFetch=Ne

2 pav

SpustelėkiteKitas . Jei dabar paspausite Atgal, pamatysime, kad ryšio savybės išsiplėtė iš eilutės į stulpelį, kad galėtume pamatyti jų sąrašą ir pamatyti, kam kiekviena iš jų lygi:

3 pav

Ryšio eilučių pavyzdžiai ODBC -dBase tvarkyklės yra pateikiami, pavyzdžiui, inMicrosoftKnowledgeBase arba šaltinyje connectstrings.com . Apskritai tam tikrų savybių paskirtį lengva atspėti iš jų pavadinimų, išskyrus, galbūt, ypatybę Ištrinta, kuri turivisiškai priešinga prasmė . Kaip žinoma, eilutės ištrynimo operacija dBase /FoxPro nėra nedelsiant fiziškai pašalintas iš failo. Eilutė tik pažymėta, kad ji buvo ištrinta. Su komanda atliekamas fizinis eilučių, turinčių trynimo vėliavėlę, valymas ir failo pertvarkymas PAKETAS . Reikšmė NO nurodo tvarkyklei ištrintas eilutes įtraukti į grąžinamų rezultatų rinkinį. Norėdami, priešingai, jų nerodyti, turite nustatyti TAIP. Spustelėkite Kitas.

Kitas ekranas yra paprastas. Nustato ryšį suFieldIndex.Add(9, "ESTSTATUS"); , įskaitant duomenų bazę, kurioje yra lentelė su importo iš dbf:

4 pav

Pirmyn. Būsite raginami pasirinktiFieldIndex.Add(2, "TERRIFNSFL"); -th lentelę iš lentelių sąrašo arba parašykite užklausą rankiniu būdu. Prasminga, pavyzdžiui, už FoxPro shny bazė, kuri, kaip ir bet kuri įprasta duomenų bazė, yra konteineris, kuriame yra kelios lentelės, šiuo atveju atskiros dbf failus. Individualiai FieldIndex.Add(2, "TERRIFNSFL"); -failas tai neveikia – žr., pvz.OdbcConnection . GetSchema("lentelės") allwrongfor . db failąir pagalbinis personalas Microsoft rekomenduojama naudoti šioje situacijoje OLEDBProvider for VisualFoxPro . Pirma, incidentas įvyko gerokai prieš radikalų bendrosios partijos linijos pasikeitimą. OLEDB tada viskas buvo mūsų aODBC , priešingai, taikoma senoms senoms sąsajoms. Antra, nesuprantu, kodėl reikia naršyti sąrašą dbfkai jis jau vienas.

Esant išsibarsčiusiemsFieldIndex.Add(2, "TERRIFNSFL"); , esantis tame pačiame kataloge, turi būti nurodyta eilutėje ODBC-ryšys (3 pav.) DefaultDir ypatybė, pavyzdžiui,

Driver=(Microsoft dBase tvarkyklė (*.dbf));sourcetype=DBF;DefaultDir=c:\Temp;exclusive=No;null=No;deleted=No;backgroundfetch=Ne

TadaGalite pažymėti Kopijuoti duomenis iš vienos ar kelių lentelių ar rodinių.

5 pav

ir bus rodomas sąrašas dbf šiame kataloge, iš kurio jūsų bus paprašyta pasirinkti:

6 pav

Bet aš neklausiau NumatytasisDir 3 pav., todėl renkuosi parašyti prašymą:

7 pav

ir rašau:

8 pav

Aatsakydamas gaunu klaidą „Microsoft Jet“ duomenų bazės variklis negalėjo rasti objekto „regions2010_wgs.dbf“:

9 pav

Ši klaida atsiranda todėl, kad vairuotojas vis dar yra kvailaspriima failų pavadinimus MS-DOS 8.3 formatu . Jei pervadinsite regions2010_wgs.dbf failą į, tarkime,aaa . dbf , o prašymas 8 pav. atitinkamai turėtų būti pakeistas įpasirinkite * iš c:\Temp\aaa.dbf, klaida dingsta. Būsite paraginti pasirinkti esamą arba nurodyti lentelės, kurioje bus sukurta, pavadinimą SQLServeris duomenų bazėje Duomenų bazė 1 (žr. 4 pav.) pagal importo iš dbf. Palieku siūlomą pavadinimą tokį, koks jis yra:

10 pav

Paspaudę mygtuką čiaPeržiūra , galite peržiūrėti turinį dbf o jis turėtų būti perkeltas į nebuvo problema:

11 pav

Viskas gerai, bet abrakadabra vietoj rusiško teksto slegia. Jo atsiradimo populiaria forma priežastį paaiškina gerbiamas autorius Lalex. Trūksta rusiškų rašmenų, nes laukia kvailas vairuotojas FieldIndex.Add(2, "TERRIFNSFL"); failą DOS oov kodavimas ( CP866, dar žinomas kaip OEM ). Atrodo, kad jis svarsto formatą dbflabai senas, grynai Dosovskio paveldas. Pagal numatytuosius nustatymus „ArcView“ DBF laiko „Windows“ formatu ( ANSI1251). Taigi šios dvi programos stovi kaip du jaučiai, ilsisi kaktomis .

Taigi, priežastis aiški, belieka ją ištaisyti. Įveskite šokius su tamburinu jungties linijojecollate=Mašinaarbarusų / CodePage=ANSI / Lyginimo seka=1251neprivedė prie sėkmės. Pasikeitė29 baitas Vaaa . dbf 0xC9 – nulis emocijų. Iš tiesų, kodo puslapio ženklas antraštėje FieldIndex.Add(2, "TERRIFNSFL"); vairuotojas ignoruoja. Tačiau tvarkyklės nustatymus galima pakeisti registre. Jis saugomas DataCodePage pakeliui HKLM\ PROGRAMINĖ ĮRANGA\ Microsoft\ Jet\4.0\ Engines\ xBase arba HKLM\ PROGRAMINĖ ĮRANGA\ Microsoft\ Office\14.0\ AccessConnectivityEngine\ Engines\ Xbase arba, atitinkamai, HKLM\ PROGRAMINĖ ĮRANGA\ Wow6432 Node\ Microsoft\ Jet\4.0\ Engines\ xBase arba HKLM\ PROGRAMINĖ ĮRANGA\ Wow6432 Node\ Microsoft\ Office\14.0\ AccessConnectivityEngine\ Engines\ Xbase priklausomai nuo to, ar jis buvo sumontuotas automobilyje Biuras Ir jei taip, kaip. Pagal numatytuosius nustatymus nuosavybė turi vertę OĮG dėl ko vairuotojas viską perskaito FieldIndex.Add(2, "TERRIFNSFL"); s pagrįsta šia koduote. Jei pakeisite į ANSI


12 pav

Kirilica į ANSI dbf" e, žinoma, bus skaitomas žmogiškai:

13 pav

Laimei, nereikia paleisti iš naujo, bet importavimo vedlį reikia uždaryti ir pakartoti iš 1 pav.

Spustelėkite GeraiKitas , užbaigiame vedlį, dėl kurio jis netiesiogiai sukuriamas ir vykdomas SSIS-plastikinis maišelis:

14 pav

ir mes gauname šiukšles. Ech!


15 pav

Tiesą sakant, tai taip pat suprantama, kodėl. LentelėjeUžklausa Vedlys sukūrė importavimo rezultatų lauką regione tipo varchar (200), aiškiai nenurodant palyginimo. Taigi pagal numatytuosius nustatymus naudojamas bazinis lyginimas. Taip atsitiko, kad bazė Duomenų bazė1 turėjo ne rusišką palyginimą:


16 pav

Norėdami ištaisyti situaciją, turite padaryti lauką regione Unicode arba pakoreguokite jo palyginimą. Beje, padidinkime jo ilgį. Taip, tik tuo atveju.


17 pav

Išsaugokite struktūros pakeitimus, išvalykite duomenissutrumpinti lentelę Užklausair pakartokite importą 1-14 pav


18 pav

Dabar viskas importuojama normaliai. Vienintelis dalykas, aš pasakiau „išvalyti duomenis“, bet pamiršau tai padaryti pats, o paveikslėlyje jie buvo padvigubinti. Daugiau nekartosiu, nes tai neprincipinga. Prasmė aiški.

Aleksejus Šuleninas

DBF – duomenų bazės failas, galimybė dirbti su kuriuo anksčiau buvo integruota į aplinką Microsoft Office. Su formatu veikė „Access“ ir „Excel“ programos, vėliau „Access“ buvo išimta iš paketo ir tapo atskira programa, o „Excel“ nuo 2007 m. DataBaseFile palaikymas buvo gerokai apribotas.

Jei neįmanoma atidaryti DBF failo tiesiogiai programoje „Excel“, pirmiausia turite jį konvertuoti.

Tačiau, nors daugelis mano, kad DBF yra pasenęs formatas, jis vis dar plačiai naudojamas specializuotose verslo, dizaino ir inžinerijos programose. Visur, kur reikia dirbti su dideliais informacijos kiekiais, jų struktūrizavimu ir apdorojimu bei užklausų vykdymu. Pavyzdžiui, „1C Enterprise“ programinės įrangos paketas yra visiškai pagrįstas duomenų bazių valdymu. Ir atsižvelgiant į tai, kad „Excel“ programa apdorojama daug biuro dokumentų ir duomenų, integruoto darbo su šiais formatais klausimas yra aktualus ir paklausus.

„Excel“ problemos dirbant su DBF

„Excel 2003“ turėjo galimybę atidaryti ir redaguoti DBF, taip pat išsaugoti XLS dokumentus šiuo formatu:

  1. Meniu juostoje pasirinkite „Failas“.
  2. Tada spustelėkite „Išsaugoti kaip“.
  3. Išskleidžiamajame sąraše pasirinkite „*.dbf“.

SVARBU. Nuo 2007 m. galite atidaryti ir peržiūrėti Excel formatu duomenų bazes, tačiau joje negalite atlikti pakeitimų ar išsaugoti .xls dokumentų. Standartinės priemonės programos šios galimybės nebeteikia.

Tačiau programai yra specialių priedų, kurie prideda prie jos tokią funkciją. Programuotojai skelbia savo pokyčius internete įvairiuose forumuose, o jūs galite rasti įvairių variantų. Populiariausią priedą, vadinamą XslToDBF, galima atsisiųsti iš kūrėjo svetainės http://basile-m.narod.ru/xlstodbf/download.html. Atsisiuntimas nemokamas, tačiau jei norite, galite paremti projektą pervesdami bet kokią sumą į savo piniginę ar kortelę.

Montavimas ir naudojimas:

  1. Atsisiųskite archyvą iš aukščiau esančios svetainės.
  2. Iš jo ištraukite XlsToDBF.xla ir išsaugokite jį savo kompiuteryje.
  3. Programoje „Excel“ eikite į meniu su „Microsoft“ piktograma kairėje, „Parinktys“.
  4. Dalyje „Excel“ parinktys pasirinkite Priedai.
  5. Eilutėje Tvarkyti / „Excel“ priedus spustelėkite Eiti.
  6. Spustelėkite Naršyti ir suraskite išsaugotą XlsToDBF.xla.
  7. Įrašas „XLS -> DBF“ turėtų būti rodomas priedų sąraše su pažymėtu langeliu. Patikrinkite, ar jo nėra.
  8. Dabar galite išsaugoti .xls į .dbf formatą. Galite atsisiųsti iš tos pačios svetainės išsamias instrukcijas pagal naudojimą. Svarbiausia teisingai parengti lentelės duomenis.
  9. Kai lentelė bus paruošta, pasirinkite bet kurį užpildytą langelį ir paspauskite Alt ir F
  10. Atsidariusiame makrokomandos lange laukelyje įveskite XlsToDBF, didžiosios ir mažosios raidės nėra svarbios.
  11. Spustelėkite Vykdyti.
  12. Jei tinkamai paruošėte ir suformatavote duomenis, duomenų bazės failas taip pat bus išsaugotas aplanke, kuriame yra šaltinio XLS.

Jei nenorite nieko keisti „Office“, nepasitikėkite priedais ir trečiųjų šalių programas, tada galime pasiūlyti daug darbo reikalaujantį konvertavimo būdą XLS failą DBF:

  1. Pirkti ir įdiegti Microsoft programa Prieiga.
  2. Programoje „Excel“ paruoškite ir išsaugokite dokumentą.
  3. Spustelėkite mygtuką „Atidaryti“ MS Access ir pasirinkite failą.
  4. Dabar reikia tinkamai sukonfigūruoti importavimą.
  5. Pasirinkite lapą, nuo kurio norite pradėti. Jei jų yra keletas, vis tiek turite atlikti po vieną.
  6. Jei lentelėje yra antraštės eilutė, pažymėkite atitinkamą laukelį.
  7. Tada galite pakeisti lentelės pavadinimą.
  8. Dabar spustelėkite „Išoriniai duomenys“.
  9. Spustelėkite mygtuką „Eksportuoti“, „Išplėstinė“.
  10. Pasirinkite dBase failą.
  11. Nurodykite pavadinimą ir išsaugokite vietą.

Šis metodas ne visada sėkmingai veikia duomenų apdorojimo ir vėlesnio išsaugojimo metu. Ir tai labai ilgas ir nepatogus.

Konversija

Kad patys nenukentėtų su biuro programomis, sukurta daug aplikacijų, kurios leidžia perkelti duomenis iš vieno formato į kitą. Visų pirma, beveik viskas galingos programos dirbdami su DBVS, jie prisiima galimybę eksportuoti į XLS ir įkelti iš jo. Antra, yra mažų komunalinių paslaugų, kurios specializuojasi konvertuojant. Štai keletas iš jų:


Visose šiose programose konvertavimas apima šaltinio failo atidarymą ir komandų „Konvertuoti“ arba „Eksportuoti“ paleidimą.

Taip pat yra nemokamas paslaugas internetinės konversijos. Tokiose svetainėse jūsų prašoma atsiųsti (atsisiųsti) šaltinio failą, spustelėkite „Konvertuoti“, po kurio pasirodys nuoroda į konvertuotą dokumentą. Kiek galite pasitikėti tokiomis paslaugomis, sprendimas yra individualus, jūsų pačių rizika ir rizika.

Taigi atidarykite DBF Excel programa tai įmanoma, bet jei jo versija yra 2007 ir naujesnė, tada nieko daugiau su juo nepadarysi, tiesiog pažiūrėk. Yra specialūs priedai ar programos, skirtos redaguoti ir išsaugoti XLS, taip pat konvertuoti priešinga kryptimi. Jei turite patirties konvertuojant ir dirbant su DBF įvairiose programose, pasidalykite patarimais komentaruose.

Paprasta programa duomenims iš dbf failų perkelti į lenteles Microsoft Excel.


Šios priemonės pagrindas yra toks: 1C turi duomenis, įkeltus į senovinį ir galingą dBase formatą, pavyzdžiui, prekių sąrašus su kainomis ir kt. ir taip toliau. Taigi, kai kurios programos lengvai importuoja duomenų rinkinius iš „Excel“ lentelių, tačiau jos nežino apie „dBase“.


Upload 1c išsaugo duomenis WIN1251 koduote (žinoma, tai gali būti kur nors sukonfigūruota, netikrinau), tačiau atidarius tokį failą Excel, informacija rodoma „beprotiškais“ būdais. Taip nutinka todėl, kad Microsoft Excel pagal numatytuosius nustatymus atidaro dBase lenteles CP866 (DOS) koduotėje.


Tiesą sakant, turiu omenyje visa tai, kad paprastam vartotojui yra per sunkus testas išsiaiškinti, kaip, ką, kur ir su kuo perkoduoti, kokius mygtukus paspausti ir kokius veiksmus atlikti. Todėl užduotis buvo nustatyta kuo paprasčiau ir nedelsiant.


P.S.: Niekada nepretenduoju į išskirtinumą ar genialumą, nes internete pilna panašios programinės įrangos, kuri keičia koduotes ir daro daug daugiau, tačiau dauguma jų yra mokamos, o papildomas funkcionalumas tik dar labiau apsunkina paprastų žmonių kankinimus.


Programa, skirta eksportuoti duomenis iš dBase failų į Microsoft Excel.


Pagrindinis programos langas.


Paleidus programą, reikia spustelėti mygtuką „Atidaryti“ ir failo pasirinkimo dialogo lange pasirinkti dbf, kuris bus eksportuojamas į „Excel“.


* * *


Pagrindinis programos langas su įkeltu dbf failu.


Jei failas sėkmingai įkeltas, jo duomenys bus rodomi lentelėje. Pačiame viršuje laukelyje „Šaltinio failas“ bus rodomas visas atsisiųsto dbf failo kelias ir pavadinimas.


Po to turite spustelėti didelį mygtuką „Eksportuoti duomenis“, esantį iškart po lentele su informacija.


* * *


Langas, kuriame prašoma pakeisti stulpelių mastelį.


Jei dėl dbf failo problemų nekilo, turėtumėte pamatyti langą, kuriame prašoma pakeisti stulpelių dydžius, tai reiškia, ar programoje Excel reikia ištempti stulpelius, kad jie atitiktų duomenų plotį.


* * *


Jei visos operacijos buvo sėkmingos, bus paleistas „Excel“ egzempliorius su visais į jį įkeltais duomenimis.

Gali atsitikti taip, kad dbf faile nėra paslaugos informacijos apie kodavimą, tokiu atveju bus rodomas pranešimas "Dbf faile nėra informacijos apie kodavimą".


Žemiau esančiose nuotraukose raudonai parodyta ir parašyta, kurį iš „Taip“ arba „Ne“ mygtukų reikia paspausti konkrečiu atveju:


Jei lentelės tekstas neįskaitomas.


* * *


Jei lentelės tekstas skaitomas įprastai.

Programos ypatybės


Sistemoje turi būti įdiegta Microsoft Excel.
Dbf failai atidaromi išskirtiniu režimu.
Blob laukų turinys neperkeliamas.
Programos veikimas buvo išbandytas „Windows XP“ ir „Windows 7“.
Priemonė yra visiškai nemokama ir jos nereikia įdiegti, o tai reiškia, kad ją atsisiunčiate ir naudojate.

Bevielis internetas