Konvertera data från Microsoft Excel till DBF-format. Fullständig beskrivning av lösningen

dBASE är ett av de äldsta databashanteringssystemen och filformatet dBASE (DBF) användes på länge. Microsoft Access stöder dataexport till följande dBASE-filformat: dBASE III, dBASE IV, dBASE 5 och dBASE 7.

Vänligen notera att dBASE-stöd har följande krav.

    Office 365-prenumeration Om du är en Office 365-prenumerant, se till att du har senaste versionen Kontor. Om du är en IT-proffs som hanterar uppdateringsprocessen för Office 365, besök sidan Channel Release för att se vilka uppdateringar som tillhandahålls i varje kanal.

    Office 2016 Installera följande uppdateringar i den ordning som anges: 2 maj 2017 Update for Office 2016 (KB3115501) och 2 maj 2017 Update for Access 2016 (KB3178700).

    Office 2016 Klicka-och-kör-utgåvor Uppdateringar tillämpas automatiskt.

Exporterar data till en dBASE-fil

Detta kommer att skapa en dBASE-fil på angiven plats och format.

Access 2013 stöder inte dBASE-format

Export till dBASE stöds inte i Access 2013. För att arbeta med dBASE-filer, prova att uppgradera till din Office 365-prenumeration Exportera till dBASE är tillgänglig i Office 365-prenumerationsversioner av Access.

  • Handledning

I den här artikeln kommer jag att berätta hur du laddar många enorma dbf-filer bestående av miljontals poster till din databas på en ms sql-server på en acceptabel tid.

Uppgiften är trivial vid första anblicken. Du kan använda guiden i sql management studio eller OPENROWSET-funktionen via en fråga.

Men det första alternativet, efter flera försök, avbröts på grund av olika fel och behovet av att ladda många filer i en tabell (cirka 100 filer). Dessutom uppstod ett fel vid laddning under lång tid.

Det andra alternativet var inte heller lämpligt på grund av drivrutinernas olika bithet och serverns bithet.

Eftersom filen helt enkelt är enorm, bestämde man sig för att läsa den genom en stream och skriva den till databasen. Därefter, efter att ha läst en rad i filen, måste du skriva in denna rad i en tabell. Det första som kom att tänka på var att använda insert, men att skriva i det här fallet skulle ta för mycket tid.

Och så kom jag ihåg en annan inspelningsmekanism via SqlBulkCopy, som låter dig ladda upp ett stort antal poster utan infogningsfrågor.
I själva verket är detta användningen av SqlBulkCopy-klassen, för att skriva genom vilken du bara behöver implementera IDataReader-gränssnittet.

Så låt oss börja med implementeringen av den offentliga klassen BDFBulkReader-gränssnittet: IDataReader

Låt oss börja med en funktion som returnerar värdet på den aktuella posten:
offentligt objekt GetValue(int i) (retur R]; )
Låt mig uppmärksamma er på att fälten i filen och fälten i tabellen kan vara i olika ordning. Och från indexet skulle jag vilja få värdet för motsvarande tabellfält. Därför använde jag dessutom FieldIndex-ordboken, där mappningen av fältnamn till nummer i sql-tabell. Fältnamnet tas efter nummer, och värdet från läsraden i dbf-filen tas efter namn från R-ordboken. Som ett resultat, för det n:e indexet i databasen, kommer GetValue att returnera motsvarande värde.
Ordbok R = ny ordbok (); Ordbok ();

FieldIndex = ny ordbok

Vi kommer att skicka FieldIndex redan ifyllt för tabellen, och R kommer att fylla det när läsaren anropar Read-funktionen, som vi också kommer att implementera i framtiden.

Så, konstruktören: R = ny ordbok (); Ordbok System.IO.FileStream FS; byte buffert;< _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;

Låt oss nu gå vidare till implementeringen av bool Read(). Det kommer att returnera sant om raden har lästs. Och falskt om raden inte lästes och samtidigt slutet av datan nåddes.

Public bool Read() ( if (ReadedRow >= RowsCount) returnerar false; R.Clear(); buffer = new byte; FS.ReadByte(); FS.Read(buffer, 0, buffer.Length); int Index = 0 ; för (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; }

Låt mig återigen påminna dig om att efter att ha anropat den kommer läsraden att skrivas till R-ordboken för senare läsning av läsaren.
Så allt som återstår är att implementera metoden som returnerar antalet fält:

Public int FieldCount ( get (retur _FieldCount; ) )

Och stubbar för gränssnittet:

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 Object this ( get ( return new object(); ) ) public int RecordsAffected ( get ( return -1; ) ) public void Close() ( ) public bool NextResult() ( return true; ) public bool IsDBNull(int i) ( return false; ) public string GetString(int i) ( return ""; ) public DataTable GetSchemaTable() ( return null; ) public int GetOrdinal(strängnamn) ( return -1; ) public string GetName(int i) ( returnera ""; ) public long GetInt64(int i) ( return -1; ) public int GetInt32(int i) ( return -1; ) public short GetInt16(int i) ( return -1; ) public Guid GetGuid(int i) ( returnera ny Guid(); ) public float GetFloat(int i) ( return -1; ) public Typ GetFieldType(int i) ( return typeof(string); ) public double GetDouble(int i) (retur -1; ) public decimal GetDecimal(int i) ( return -1; ) public DateTime GetDateTime(int i) ( returnera ny DateTime(); ) public string GetDataTypeName(int i) ( return ""; ) public IDataReader GetData(int i) ( returnera detta; ) public long GetChars(int i, long fieldoffset, char buffer, int bufferoffset, int length) (retur -1; ) public char GetChar(int i) ( return " "; ) public long GetBytes(int i, long fieldOffset, byte buffer, int bufferoffset, int length) ( return -1; ) public byte GetByte(int i) ( return 0x00; ) public bool GetBoolean(int i) ( return false; ) public int GetValues(Objektvärden) ( return -1; )

Där i Dispose() stänger jag helt enkelt filen.

När gränssnittet är implementerat kan du skriva en metod för att ladda filen:

Void SaveToTable(FileInfo dir, string TableName, string connestionString, Dictionary FieldIndex) ( med (var loader = new SqlBulkCopy(connestionString, SqlBulkCopyOptions.Default)) ( loader.DestinationTableName = Tabellnamn; loader.BulkCopyTimeout = 9999; loader.WriteToServer(new BDFIndeBulkReader)x));

Det är det. Allt som återstår att skicka till den här funktionen är filplatsen, tabellnamnet, anslutningssträngen och motsvarande matchande ordbok, till exempel:

Ordbok FieldIndex= ny ordbok ();

FieldIndex.Add(0, "POSTALCODE");

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, "UPPDATERING");


FieldIndex.Add(8, "HUSNUMMER");


FieldIndex.Add(9, "ESTSTATUS");


FieldIndex.Add(10, "BUILDNUM");


Efter att programmet har startat måste du klicka på knappen "Öppna" och i filvalsdialogrutan, välj den dbf som kommer att exporteras till Excel.


* * *


Huvudprogramfönstret med den inlästa dbf-filen.


Om filen har laddats upp kommer dess data att visas i tabellen. Högst upp, i fältet "Källfil", kommer den fullständiga sökvägen och namnet på den nedladdade dbf-filen att visas.


Efter detta måste du klicka på den stora knappen "Exportera data" som finns omedelbart under tabellen med informationen.


* * *


Fönster som ber dig skala kolumner.


Om det inte fanns några problem med dbf-filen bör du se ett fönster som ber dig skala kolumnstorlekarna, detta betyder om du i Excel behöver sträcka ut kolumnerna för att passa bredden på data.


* * *


Om alla operationer lyckades kommer en Excel-instans att startas med all data uppladdad till den.

Det kan hända att dbf-filen inte innehåller officiella uppgifter om kodningen, i det här fallet meddelandet "Det finns ingen kodningsinformation i dbf-filen."


På bilderna nedan, i rött, visas och skrivet vilken av "Ja"- eller "Nej"-knapparna som ska tryckas in i ett eller annat fall:


Om texten i tabellen är oläslig.


* * *


Om texten i tabellen är läsbar normalt.

Funktioner i programmet


Microsoft Excel måste vara installerat på systemet.
Dbf-filer öppnas i exklusivt läge.
Innehållet i blobfält överförs inte.
Programmets prestanda testades på Windows XP och Windows 7.
Verktyget är helt gratis och kräver ingen installation, vilket innebär att du laddar ner och använder det.

DBF är en databasfil, förmågan att arbeta med som tidigare var integrerad i miljön Microsoft Office. Access- och Excel-applikationer fungerade med formatet, senare togs Access bort från paketet och blev ett separat program, och i Excel, sedan 2007, har DataBaseFile-stödet varit avsevärt begränsat.

Om det inte går att öppna en DBF-fil direkt i Excel måste du först konvertera den.

Men DBF, även om det av många anses vara ett föråldrat format, används fortfarande i stor utsträckning specialiserade program inom affärer, design, teknik. Överallt där det är nödvändigt att arbeta med stora mängder information, deras strukturering och bearbetning och exekvering av frågor. Till exempel är mjukvarupaketet 1C Enterprise helt baserat på databashantering. Och med tanke på att mycket kontorsdokumentation och data bearbetas i Excel är frågan om integrerat arbete med dessa format relevant och efterfrågad.

Excel-problem när du arbetar med DBF

Excel 2003 hade förmågan att öppna och redigera DBF, samt spara XLS-dokument i detta format:

  1. Välj "Arkiv" från menyraden.
  2. Klicka sedan på "Spara som".
  3. Välj "*.dbf" från rullgardinsmenyn.

VIKTIG. Sedan 2007 kan du öppna och visa databasformatet i Excel, men du kan inte göra ändringar eller spara .xls-dokument i det. Standard betyder program ger inte längre detta alternativ.

Det finns dock speciella tillägg för applikationen som lägger till en sådan funktion till den. Programmerare publicerar sin utveckling online på olika forum, du kan hitta olika alternativ. Det mest populära tillägget, som heter XslToDBF, kan laddas ner från utvecklarens webbplats http://basile-m.narod.ru/xlstodbf/download.html. Nedladdningen är gratis, men om du vill kan du stödja projektet genom att överföra valfritt belopp till din plånbok eller kort.

Installation och användning:

  1. Ladda ner arkivet från ovanstående sida.
  2. Extrahera XlsToDBF.xla från den och spara den på din dator.
  3. I Excel, gå till menyn med Microsoft-ikonen till vänster, "Alternativ".
  4. Under Excel-alternativ väljer du Tillägg.
  5. På raden Hantera/Excel-tillägg klickar du på Gå.
  6. Klicka på Bläddra och leta reda på den sparade XlsToDBF.xla.
  7. Posten "XLS -> DBF" bör visas i listan över tillägg med kryssrutan markerad. Kolla om det inte finns där.
  8. Nu kan du spara .xls till .dbf-format. Du kan ladda ner från samma sida detaljerade instruktioner genom användning. Det viktigaste är att förbereda tabelldata korrekt.
  9. När tabellen är klar, välj valfri fylld cell och tryck på Alt och F
  10. I makrofönstret som öppnas, skriv XlsToDBF i fältet, skiftläge är inte viktigt.
  11. Klicka på Kör.
  12. Om du har förberett och formaterat data korrekt, kommer databasfilen också att sparas i mappen där källan XLS finns.

Om du inte vill ändra något i Office och inte litar på tillägg och tredjepartsapplikationer kan du föreslå ett mer arbetskrävande sätt att konvertera XLS-fil i DBF:

  1. Köp och installera Microsoft program Tillträde.
  2. Förbered och spara dokumentet i Excel.
  3. Klicka på "Öppna"-knappen i MS Access och välj filen.
  4. Nu måste du konfigurera importen korrekt.
  5. Välj arket att börja med. Om det är flera av dem måste du fortfarande göra en i taget.
  6. Om tabellen har en rubrikrad, markera lämplig ruta.
  7. Därefter kan du ändra tabellnamnet.
  8. Klicka nu på "Externa data".
  9. Klicka på knappen "Exportera", "Avancerat".
  10. Välj dBase-fil.
  11. Ange ett namn och spara plats.

Denna metod fungerar inte alltid framgångsrikt, fel uppstår ofta vid databehandling och efterföljande lagring. Och den är väldigt lång och obekväm.

Omvandling

För att inte lida dig själv med kontorsprogram, många applikationer har skapats som låter dig överföra data från ett format till ett annat. För det första erbjuder nästan alla kraftfulla DBMS-program möjligheten att exportera till XLS och ladda från den. För det andra finns det små verktyg som är specialiserade på konvertering. Här är några av dem:


I alla dessa program handlar konverteringen om att öppnas källfil, och kör sedan kommandot "Konvertera" eller "Exportera".

Det finns också gratistjänster onlinekonverteringar. På sådana webbplatser ombeds du att skicka (ladda ner) källfilen, klicka på "Konvertera", varefter en länk till det konverterade dokumentet visas. I vilken utsträckning du kan lita på sådana tjänster är beslutet individuellt, på din egen risk och risk.

Således kan du öppna DBF i Excel, men om dess version är 2007 eller nyare, kommer du inte att kunna göra något mer med den, bara titta. Det finns speciella tillägg eller program för att redigera och spara i XLS, samt för att konvertera i motsatt riktning. Om du har erfarenhet av att konvertera och arbeta med DBF i olika applikationer, dela dina tips i kommentarerna.

DBF är ett populärt format för att lagra och utbyta data mellan olika program, och främst mellan applikationer som underhåller databaser och kalkylblad. Även om det har blivit föråldrat, fortsätter det att vara efterfrågat inom olika områden. Till exempel fortsätter de att aktivt arbeta med honom redovisningsprogram, och de som kontrollerar och statliga organ acceptera en betydande del av rapporterna i detta format.

Men tyvärr slutade Excel, från och med Excel 2007, att stödja detta format fullt ut. Nu i det här programmet kan du bara se innehållet i DBF-filen, och att spara data med det angivna tillägget med hjälp av programmets inbyggda verktyg kommer inte längre att vara möjligt. Lyckligtvis finns det andra alternativ för att konvertera data från Excel-program i det format vi behöver. Låt oss titta på hur detta kan göras.

I Excel 2003 och tidigare versioner av programmet kan du spara data i DBF-format (dBase) med standardmetoden. För att göra detta var du tvungen att klicka på objektet "Fil" i den horisontella programmenyn och välj sedan en position i listan som öppnas "Spara som...". I sparfönstret som öppnas måste du välja ett namn från listan önskat format och tryck på knappen "Spara".

Men från och med Excel 2007 ansåg Microsoft-utvecklare tyvärr att dBase var föråldrat och moderna Excel-format var för komplicerade för att lägga tid och pengar på att säkerställa full kompatibilitet. Därför behöll Excel möjligheten att läsa DBF-filer, men stödet för att spara data i detta format med inbyggda mjukvaruverktyg upphörde. Det finns dock några sätt att konvertera data som sparats i Excel till DBF genom att använda tillägg och annan programvara.

Metod 1: WhiteTown Converters Pack

Det finns ett antal program som låter dig konvertera data från Excel till DBF. En av de mest enkla sätt konvertera data från Excel till DBF är att använda ett paket med verktyg för att konvertera objekt med olika tillägg WhiteTown Converters Pack.

Även om installationsproceduren för det här programmet är enkel och intuitiv, kommer vi fortfarande att uppehålla oss i detalj och peka på några nyanser.

  1. När du har laddat ner och startat installationsprogrammet öppnas ett fönster omedelbart Installationsguider, som uppmanar dig att välja ett språk för ytterligare installationsprocedurer. Som standard ska det visa språket som är installerat på din kopia av Windows, men du kan ändra det om du vill. Vi kommer inte att göra detta utan trycker bara på knappen. "OK".
  2. Därefter öppnas ett fönster där platsen visas systemdisk, där verktyget kommer att installeras. Som standard är detta mappen "Programfiler" på disk "C". Här är det bättre att inte ändra något heller och trycka på knappen "Nästa".
  3. Ett fönster öppnas då där du kan välja vilka specifika transformationsriktningar du vill ha. Som standard är alla tillgängliga konverteringskomponenter valda. Men vissa användare kanske inte vill installera alla, eftersom varje verktyg tar upp utrymme på hårddisken. Det är i alla fall viktigt för oss att det finns en bock bredvid varan "XLS (Excel) till DBF Converter". Användaren kan välja att installera de återstående komponenterna i verktygspaketet efter eget gottfinnande. Efter att inställningarna är gjorda, glöm inte att klicka på knappen "Nästa".
  4. Efter detta öppnas ett fönster där du lägger till en genväg till mappen "Start". Som standard kallas genvägen "White Town", men du kan ändra dess namn om du vill. Tryck på knappen "Nästa".
  5. Ett fönster öppnas då du frågar om du vill skapa en genväg på skrivbordet. Om du vill att den ska läggas till, lämna sedan en bock bredvid motsvarande parameter om du inte vill att den ska läggas till, avmarkera den. Tryck sedan som alltid på knappen "Nästa".
  6. Efter detta öppnas ett annat fönster. Den visar de grundläggande installationsparametrarna. Om användaren inte är nöjd med något och vill redigera parametrarna, tryck sedan på knappen "Tillbaka". Om allt är i sin ordning klickar du på knappen "Installera".
  7. Installationsproceduren börjar, vars förlopp kommer att visas av en dynamisk indikator.
  8. Öppnar sedan informationsmeddelandeengelska, vilket uttrycker tacksamhet för installationen av detta paket. Tryck på knappen "Nästa".
  9. I det sista fönstret Installationsguider Det rapporteras att programmet WhiteTown Converters Pack har installerats framgångsrikt. Allt vi behöver göra är att trycka på knappen "Avsluta".
  10. Efter detta heter en mapp "White Town". Den innehåller verktygsgenvägar för specifika konverteringsområden. Öppna den här mappen. Vi presenteras med ett stort antal verktyg som ingår i programvaran WhiteTown. olika riktningar omvandling. Dessutom har varje riktning ett separat verktyg för 32-bitars och 64-bitars operativsystem Windows-system. Öppna applikationen med namnet "XLS till DBF Converter", motsvarande bitheten för ditt operativsystem.
  11. XLS till DBF Converter-programmet startar. Som du kan se är gränssnittet på engelska, men det är ändå intuitivt.

    Fliken öppnas omedelbart "Input" ("Skriva in"). Det är avsett att ange det objekt som ska konverteras. För att göra detta, klicka på knappen "Tillägga" ("Tillägga").

  12. Efter detta öppnas ett standardfönster för att lägga till ett objekt. I den måste du gå till katalogen där Excel-arbetsboken vi behöver med tillägget xls eller xlsx finns. När objektet har hittats, välj dess namn och klicka på knappen "Öppna".
  13. Som du kan se, efter detta visades sökvägen till objektet i fliken "Input". Tryck på knappen "Nästa" ("Nästa").
  14. Efter detta flyttas vi automatiskt till den andra fliken "Produktion" ("Slutsats"). Här måste du ange i vilken katalog det färdiga objektet med DBF-tillägget kommer att matas ut. För att välja mappen för att spara den färdiga DBF-filen, klicka på knappen "Bläddra..." ("Se"). En liten lista med två objekt öppnas "Välj fil" ("Välj fil") Och "Välj mapp" ("Välj mapp"). I själva verket betyder dessa punkter bara att man väljer olika typer av navigeringsfönster för att indikera lagringsmappen. Vi gör ett val.
  15. I det första fallet blir det ett vanligt fönster "Spara som...". Det kommer att visa både mappar och befintliga dBase-objekt. Vi går till katalogen där vi vill spara. Nästa i fältet "Filnamn" Vi anger vilket namn vi vill att objektet ska listas under efter konvertering. Efter det klickar du på knappen "Spara".

    Om du väljer alternativet "Välj mapp", då öppnas ett förenklat katalogvalsfönster. Den visar bara mappar. Välj mappen att spara och klicka på knappen "OK".

  16. Som du kan se, efter någon av dessa åtgärder, kommer sökvägen till mappen för att spara objektet att visas på fliken "Produktion". För att gå till nästa flik, klicka på knappen "Nästa" ("Nästa").
  17. I sista fliken "Alternativ" ("Alternativ") det finns många inställningar, men vi är mest intresserade av "Typ av memofält" ("Memo fälttyp"). Klicka på fältet där standardinställningen är "Bil" ("Bil"). En lista över dBase-typer för att spara objektet öppnas. Denna parameter är mycket viktig, eftersom inte alla program som fungerar med dBase kan bearbeta alla typer av objekt med denna tillägg. Därför måste du veta i förväg vilken typ du ska välja. Det finns sex olika typer att välja på:
    • dBAS III;
    • FoxPro;
    • dBAS IV;
    • Visual FoxPro;
    • >SMT;
    • dBASE nivå 7.

    Vi gör ett val av den typ som behövs för användning i ett specifikt program.

  18. Efter att valet är gjort kan du fortsätta till själva konverteringsproceduren. För att göra detta, klicka på knappen "Start" ("Start").
  19. Konverteringsproceduren startar. Om en Excel-arbetsbok har flera ark med data, skapas en separat DBF-fil för var och en av dem. Slutförandet av konverteringsprocessen kommer att indikeras av en grön framstegsindikator. När han når slutet av fältet, klicka på knappen "Avsluta" ("Avsluta").

Det färdiga dokumentet kommer att finnas i den katalog som angavs på fliken "Produktion".

Den enda betydande nackdelen med metoden som använder verktygspaketet WhiteTown Converters Pack är att du bara kan utföra 30 konverteringsprocedurer gratis, och då måste du köpa en licens.

Metod 2: XlsToDBF-tillägg

Du kan konvertera en Excel-arbetsbok till dBase direkt genom applikationsgränssnittet genom att installera tillägg från tredje part. En av de bästa och mest bekväma av dem är XlsToDBF-tillägget. Låt oss överväga algoritmen för dess tillämpning.

  1. Efter att ha laddat ner XlsToDBF.7z-arkivet med tillägget packar du upp ett objekt som heter XlsToDBF.xla från det. Eftersom arkivet har en 7z-förlängning kan uppackning göras antingen standardprogram för detta tillägg 7-Zip, eller med någon annan arkivering som stöder att arbeta med den.
  2. Efter det, starta Excel-programmet och gå till fliken "Fil". Därefter går vi till avsnittet "Alternativ" genom menyn till vänster i fönstret.
  3. Klicka på objektet i parameterfönstret som öppnas "Tillägg". Flytta till höger sida av fönstret. Allra längst ner finns ett fält "Kontrollera". Vi flyttar omkopplaren i den till läget "Excel-tillägg" och klicka på knappen "Gå...".
  4. Ett litet administrationsfönster för tillägg öppnas. Klicka på knappen där "Recension…".
  5. Objektets öppningsfönster öppnas. Vi måste gå till katalogen där det uppackade XlsToDBF-arkivet finns. Gå till mappen med samma namn och välj objektet med namnet "XlsToDBF.xla". Efter det klickar du på knappen "OK".
  6. Sedan återgår vi till tilläggshanteringsfönstret. Som du kan se dök namnet upp i listan "XLS -> DBF". Det här är vår överbyggnad. Det bör finnas en bock bredvid. Om det inte finns någon bock markerar du den och klickar sedan på knappen "OK".
  7. Så tillägget är installerat. Nu öppnar vi Excel-dokumentet, varifrån data måste konverteras till dBase, eller så skriver vi det helt enkelt på arket om dokumentet inte har skapats ännu.
  8. Nu kommer vi att behöva göra en del manipulation av data för att förbereda den för konvertering. Först och främst lägger vi till två rader ovanför tabellhuvudet. De ska vara de allra första på arket och ha namn på den vertikala koordinatstapeln "1" Och "2".

    I den övre vänstra cellen anger vi namnet som vi vill tilldela den skapade DBF-filen. Den består av två delar: själva namnet och tillägget. Endast det latinska alfabetet är tillåtet. Ett exempel på ett sådant namn är "UCHASTOK.DBF".

  9. I den första cellen till höger om namnet måste du ange kodningen. Det finns två kodningsalternativ med detta tillägg: CP866 Och CP1251. Om cellen B2är tom eller har något annat värde inställt på sig än "CP866", så kommer standardkodningen att tillämpas CP1251. Vi ställer in den kodning som vi anser vara nödvändig eller lämnar fältet tomt.
  10. Nästa går vi vidare till nästa rad. Faktum är att i dBase-strukturen har varje kolumn, som kallas ett fält, sin egen datatyp. Det finns sådana beteckningar:
    • N(Numerisk) – numerisk;
    • L(Logiskt) – logiskt;
    • D(Datum) – datum;
    • C(karaktär) – sträng.

    Dessutom, i strängen ( CNN) och numerisk typ ( Nnn) efter namnet i form av en bokstav ska anges maximal kvantitet tecken i fältet. Om den numeriska typen använder decimaler, måste deras nummer också anges efter pricken ( Nnn.n).

    Det finns andra typer av data i dBase-format (Memo, General, etc.), men det här tillägget kan inte fungera med dem. Excel 2003 kunde dock inte fungera med dem heller, när det fortfarande stödde konvertering till DBF.

    I vårt specifika fall kommer det första fältet att vara en sträng med en bredd på 100 tecken ( C100), och de återstående fälten kommer att vara numeriska, 10 tecken breda ( N10).

  11. Nästa rad innehåller namnen på fälten. Men faktum är att de också måste skrivas in i det latinska alfabetet, och inte i det kyrilliska alfabetet, som vårt. Mellanslag är inte heller tillåtna i fältnamn. Vi byter namn på dem enligt dessa regler.
  12. Efter detta kan databeredningen anses vara avslutad. Välj hela tabellområdet på arket med markören och håll nere vänster musknapp. Gå sedan till fliken "Framkallare". Som standard är den inaktiverad, så innan ytterligare manipulationer måste du aktivera den och aktivera makron. Nästa på menyfliksområdet i inställningsblocket "Koda" klicka på ikonen "Makron".

    Du kan göra det lite enklare genom att skriva en snabbtangentskombination Alt+F8.

  13. Makrofönstret öppnas. På fältet "Makronamn" ange namnet på vårt tillägg "XlsToDBF" utan citattecken. Registret är inte viktigt. Klicka sedan på knappen "Sikt".
  14. Makro in bakgrund utför bearbetning. Efter detta, i samma mapp där källfilen för Excel finns, kommer ett objekt med DBF-tillägget att skapas med det namn som specificerades i cellen A1.

Som du kan se är denna metod mycket mer komplicerad än den föregående. Dessutom är det ganska begränsat i antalet fälttyper som det använder och vilka typer av objekt det skapar med DBF-tillägget. En annan nackdel är att katalogen för skapande av dBase-objekt endast kan tilldelas före konverteringsproceduren, genom att direkt flytta källfilen i Excel till målmappen. Bland fördelarna denna metod Det kan noteras att det, till skillnad från det tidigare alternativet, är helt gratis och nästan alla manipulationer utförs direkt via Excel-gränssnittet.

Metod 3: Microsoft Access-programmet

Även om nya versioner av Excel inte har ett inbyggt sätt att spara data i DBF-format, finns det fortfarande ett alternativ att använda Microsoft-applikationer Access är det som ligger närmast att kallas standard. Faktum är att detta program släpptes av samma tillverkare som Excel och ingår också i Microsoft Office-paketet. Dessutom är detta det säkraste alternativet, eftersom du inte behöver kontakta programvara tredjepartstillverkare. Microsoft Access är speciellt utformat för att arbeta med databaser.

  1. Efter att all nödvändig data har matats in i Excel-arket, för att konvertera den till DBF-formatet, måste du först spara den i en av Excel-format. För att göra detta, klicka på diskettikonen i det övre vänstra hörnet av programfönstret.
  2. Spara fönstret öppnas. Vi går till katalogen där vi vill att filen ska sparas. Det är från den här mappen som du sedan måste öppna den i Microsoft Access. Bokformatet kan lämnas som standard xlsx, eller så kan du ändra det till xls. I det här fallet är detta inte kritiskt, eftersom vi sparar filen bara för att konvertera den till DBF ändå. När alla inställningar är klara klickar du på knappen "Spara" och stäng Excel-fönstret.
  3. Starta Microsoft Access-programmet. Gå till fliken "Fil", om den öppnades på en annan flik. Klicka på menyalternativet "Öppna", placerad på vänster sida av fönstret.
  4. Fönstret för filöppning öppnas. Vi går till katalogen där vi sparade filen i ett av Excel-formaten. Flytta filformatomkopplaren till position för att få den att visas i fönstret « Excel arbetsbok(*.xlsx)" eller "Microsoft Excel (*.xls)", beroende på vilken av dem boken sparades i. Efter att namnet på filen vi behöver visas, välj den och klicka på knappen "Öppna".
  5. Ett fönster öppnas "Anslutning till kalkylblad» . Det låter dig flytta data från en Excel-fil till Microsoft Access så korrekt som möjligt. Vi måste välja det Excel-ark som vi ska importera data från. Faktum är att även om Excel-filen innehöll information på flera ark, kan du bara importera den till Access separat och följaktligen konvertera den till separata DBF-filer.

    Det är också möjligt att importera information från enskilda intervall till ark. Men i vårt fall är detta inte nödvändigt. Ställ omkopplaren i läge "Lakan", och välj sedan det ark som vi ska hämta data från. Korrektheten av informationsvisningen kan ses längst ner i fönstret. Om allt är tillfredsställande, tryck på knappen. "Nästa".

  6. I nästa fönster, om din tabell innehåller rubriker, måste du markera rutan bredvid "Den första raden innehåller kolumnrubrikerna". Klicka sedan på knappen "Nästa".
  7. I det nya fönstret Spreadsheet Link kan du valfritt ändra namnet på det länkade objektet. Klicka sedan på knappen "Redo".
  8. Efter detta öppnas en dialogruta som indikerar att länkningen av tabellen till Excel-filen är klar. Klicka på knappen "OK".
  9. Namnet på tabellen som vi tilldelade den i det sista fönstret visas på vänster sida av programgränssnittet. Dubbelklicka på den med vänster musknapp.
  10. Efter detta kommer tabellen att visas i fönstret. Flyttar till fliken "Extern data".
  11. På bandet i verktygslådan "Exportera" klicka på inskriptionen "Dessutom". Välj objektet i listan som öppnas "dBase-fil".
  12. Fönstret för export till DBF-format öppnas. På fältet "Filnamn" du kan ange fillagringsplatsen och dess namn om standardfilerna inte är lämpliga för dig av någon anledning.

    På fältet "Filformat" välj en av tre typer av DBF-format:

    • dBAS III(standard);
    • dBAS IV;
    • dBAS 5.

    Det bör beaktas att ju modernare formatet är (ju högre serienummer), desto fler möjligheter finns det att behandla data i det. Det vill säga att det är större sannolikhet att all tabelldata kommer att sparas i filen. Men samtidigt är det en lägre sannolikhet att programmet som du ska importera till i framtiden dbf-fil, kommer att vara kompatibel med denna typ.

    När alla inställningar är inställda klickar du på knappen "OK".

  13. Om ett felmeddelande visas efter detta, försök att exportera data med en annan typ av DBF-format. Om allt gick bra visas ett fönster som informerar dig om att exporten lyckades. Klicka på knappen "Nära".

Den skapade filen i dBase-format kommer att finnas i katalogen som specificerades i exportfönstret. Sedan kan du utföra alla manipulationer med den, inklusive importera den till andra program.

Som vi ser, trots att i moderna versioner Excel har inte möjlighet att spara filer i DBF-format med sina inbyggda verktyg, men denna procedur kan utföras med andra program och tillägg. Det bör noteras att den mest funktionella konverteringsmetoden är att använda WhiteTown Converters Pack. Men tyvärr är antalet gratiskonverteringar i den begränsat. XlsToDBF-tillägget låter dig utföra konverteringen helt gratis, men proceduren är mycket mer komplicerad. Dessutom är funktionaliteten för detta alternativ mycket begränsad.

Den "gyllene medelvägen" är metoden som använder Få tillgång till program. Precis som Excel är det en utveckling av Microsoft, och därför tredje parts applikation du kan inte ringa honom längre. Dessutom detta alternativ låter dig konvertera Excel-fil i flera typer av dBase-format. Även om Access i denna indikator fortfarande är sämre än WhiteTown-programmet.

Dela