Přeskočit na obsah

Převod souboru XLS do SDF

Převeďte starší data z Excelu do ověřené databáze SQL Server Compact SDF.

Převádějte soubory XLS online

Pro převod XLS do SDF zatím vlastní online konvertor nemáme, ale soubory XLS můžete online převést do těchto a dalších formátů:

Chcete převádět XLS na SDF?

Dejte nám vědět. Podle zájmu vybíráme, které převody přidáme jako další.

Jak převést soubor xls do formátu sdf

Aplikace vytvořená pro SQL Server Compact může vyžadovat databázi .sdf namísto sešitu Excel, takže data z tabulky je nutné načíst do relačních tabulek. Převod obvykle probíhá jako řízený import prostřednictvím CSV nebo kódu aplikace, nikoli jako přímý přepis souboru sešitu.

Co je formát XLS

.xls je binární formát Excel Workbook používaný především aplikací Microsoft Excel 97–2003 a kompatibilními tabulkovými programy, jako je LibreOffice Calc. Může obsahovat více listů, vzorce, formátování, sloučené buňky, grafy, pojmenované oblasti a hodnoty s volně určenými typy. Starší firemní exporty, archivy a legacy systémy stále vytvářejí soubory XLS.

List XLS se automaticky nestává relační tabulkou. Může obsahovat řádky s názvy, smíšené datové typy, prázdné buňky, duplicitní záhlaví, mezisoučty, vzorce a formátování určené pouze pro prezentaci. Tyto prvky je nutné před importem dat do SDF odstranit nebo namapovat.

Co je formát SDF

V kategorii Databases znamená .sdf obvykle databázi SQL Server Compact, označovanou také jako SQL CE. Jedná se o souborovou relační databázi obsahující tabulky, sloupce, indexy, omezení a případně relace. Nezachovává formátování Excelu, grafy, makra, komentáře ani strukturu sešitu.

SQL Server Compact ukládá databázi do jednoho přenosného souboru a podporuje SQL dotazy a indexy bez samostatného databázového serveru. SQL Server Compact 4.0 je legacy software a jeho vývoj byl ukončen, proto před vytvořením souboru SDF ověřte, zda cílová aplikace podporuje jeho provider a verzi databáze.

Jak převést XLS na SDF

Pomocí SQL Server Compact Toolbox a CSV

  1. Otevřete soubor XLS v aplikaci Microsoft Excel nebo LibreOffice Calc. Odstraňte řádky s názvy, sloučené buňky, mezisoučty, duplicitní záhlaví a prázdné koncové sloupce. Každý list určený k importu považujte za samostatnou tabulku.
  2. Před exportem definujte typy cílových sloupců. Identifikátory, jako je 00123, zachovejte jako text, sjednoťte formát dat, podle potřeby odstraňte oddělovače tisíců u čísel a rozhodněte, zda prázdné buňky představují SQL NULL, nebo prázdné řetězce.
  3. Exportujte každý list jako samostatný soubor UTF-8 CSV prostřednictvím nabídky File → Save As. CSV nezachovává vzorce, formátování, více listů, grafy, relace ani metadata sešitu. Pokud mají být importovanými daty zobrazené hodnoty vzorců, nejprve je přepočítejte v Excelu nebo Calcu.
  4. V systému Windows nainstalujte runtime SQL Server Compact 4.0 a SQL Server Compact Toolbox. V nástroji vytvořte databázi SQL Server Compact 4.0 a uložte ji s příponou .sdf.
  5. Před importem řádků vytvořte cílové schéma. Například:
    CREATE TABLE Customers (CustomerID int NOT NULL PRIMARY KEY, Name nvarchar(200) NOT NULL, SignupDate datetime NULL);
    Pro text Unicode použijte nvarchar a pro finanční sloupce typu decimal zadejte vhodnou přesnost a měřítko.
  6. Pomocí funkce importu dat v nástroji, pokud ji nainstalovaná verze poskytuje, načtěte jednotlivé soubory CSV do odpovídajících tabulek. Namapujte sloupce podle názvu nebo jejich pozici určete explicitně; nespoléhejte na automatickou detekci typů.
  7. Spusťte ověřovací dotazy, například SELECT COUNT(*) FROM Customers. Porovnejte počty řádků ve zdroji a cíli, zkontrolujte hodnoty NULL a data, otestujte text s ne-ASCII znaky, ověřte primární klíče a vyhledejte duplicitní záznamy.

Pomocí opakovatelného importu v .NET

Pro opakované převody nebo velké sešity použijte .NET nástroj s Excel readerem, například ExcelDataReader, a legacy provider System.Data.SqlServerCe. Načtěte každý list, vytvořte schéma SDF pomocí CREATE TABLE a vkládejte hodnoty pomocí parametrizovaných příkazů INSERT uvnitř dávkových transakcí. Parametry zabraňují tomu, aby apostrofy a další obsah buněk byly interpretovány jako syntaxe SQL, zatímco transakce jsou výrazně rychlejší než potvrzování každého řádku samostatně.

LibreOffice může pomoci automatizovat mezikrok exportu pomocí příkazu soffice --headless --convert-to csv --outdir csv input.xls, export CSV z příkazového řádku však může zpracovat pouze aktivní list nebo se jeho chování může lišit podle verze LibreOffice. Pokud jsou vyžadovány všechny karty sešitu, exportujte a ověřte každý list samostatně.

Pomocí online převodníku

Běžné online služby, jako jsou CloudConvert nebo Zamzar, mohou převést .xls na .csv, který lze následně lokálně importovat pomocí SQL Server Compact Toolbox. Obvykle však nevytvoří použitelnou databázi SQL Server Compact .sdf s požadovaným schématem, klíči, indexy a relacemi. Nenahrávejte důvěrné nebo regulované sešity; v staženém souboru CSV ověřte výběr listů, kódování znaků, data a identifikátory s počátečními nulami.

Omezení kvality a kompatibility

Při převodu se obvykle ztratí prezentační a výpočtové funkce sešitu. Vzorce se většinou importují jako jejich uložené nebo zobrazené výsledky, nikoli jako vzorce; formátování, grafy, komentáře, makra, pojmenované oblasti a pořadí listů nejsou v SDF reprezentovány.

Zpracování CSV může převést identifikátory s počátečními nulami na běžná čísla, zobrazit dlouhá čísla ve vědeckém zápisu nebo nesprávně interpretovat data kvůli regionálnímu nastavení. Před načtením dat definujte schéma SDF, podle potřeby ponechte sloupce s identifikátory jako text a používejte jednoznačné hodnoty dat, například 2026-10-01, pokud je cílový sloupec typu date.

SQL Server Compact 4.0 má maximální velikost databáze přibližně 4 GB a méně funkcí SQL než plný SQL Server. Přesně reprodukujte názvy tabulek, názvy sloupců, datové typy, primární klíče, indexy, relace a verzi provideru vyžadované používanou aplikací. Soubor SDF vytvořený pro jednu verzi nebo schéma SQL CE nemusí fungovat s aplikací očekávající jinou verzi.

Informace o příponách a typech souborů poskytuje File-Extensions.org

Často kladené otázky

Zachovají se při převodu XLS do SDF vzorce a formátování?

Ne, databáze SDF obvykle ukládá importované hodnoty, nikoli vzorce Excelu, formátování buněk, grafy nebo makra. Vzhled tabulky se převede na data v tabulkách, ačkoli vypočtené výsledky mohou být importovány jako hodnoty.

Převedou se všechny listy XLS na tabulky v databázi SDF?

Mohou být namapovány na samostatné databázové tabulky, ale nastavení převodu určuje, jak se namapují listy, sloupce a záhlaví. Relace, pojmenované oblasti a další struktura tabulky se nevytvoří automaticky, pokud je proces převodu výslovně nedefinuje.

Proč jsou po převodu XLS do SDF moje data nebo čísla nesprávná?

Smíšené hodnoty v jednom sloupci Excelu mohou způsobit, že importér odvodí nevhodný databázový typ, což může přiřadit datům typ textu nebo během ověřování zahodit nekompatibilní hodnoty. Před převodem zkontrolujte typy sloupců a formáty dat a v každém sloupci zachovejte konzistentní hodnoty.

Lze převést SDF zpět do XLS a zachovat původní tabulku?

Ne, při převodu zpět se obecně obnoví data v tabulkách, nikoli původní rozvržení, vzorce, formátování nebo struktura sešitu. Výsledek SDF lze upravovat jako databázová data, ale nejde o upravitelný sešit Excelu.

Podobné .xls konverze

Reverzní konverze

Konverze do .sdf
z jiných formátů

Sdílejte na sociálních sítích:

Soubor už byl stažen

Tento soubor už byl stažen. Kvůli ochraně soukromí jsme ho hned po stažení smazali ze serveru, takže ho nejde stáhnout znovu. Pokud ho potřebujete ještě jednou, převeďte soubor znovu.