Microsoft Access içinde yaşaması gereken klasörler dolusu Excel çalışma kitabınız var — SQL sorguları, tablolar arası birleşimler, dizinleme veya bir raporlama veritabanını beslemek için. Her XLSX'i Access'te açıp içe aktarma sihirbazında yürümek iki veya üç dosyadan sonrasına ölçeklenmez. Total Excel Converter X, XLS ve XLSX dosyalarını komut satırından toplu olarak, GUI olmadan ve Microsoft Office kurulumu gerektirmeden DBF'ye (Access'in yerel olarak içe aktardığı dBase IV formatı) dönüştürür. Bir Windows sunucusuna kurun, bir betikten veya ActiveX üzerinden çağırın ve gözetimsiz çalıştırın.
*.xlsx) geçirin ve dönüştürücü tek seferde eşleşen tüm dosyaları işler
(30 gün, e-posta gerekmez)
(sunucu lisansı, kalıcı)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
Excel bir çalışma sayfasıdır. Her çalışma sayfası düz bir ızgaradır — satırlar ve sütunlar, üzerine bindirilmiş formüller ve biçimlendirmeyle. Excel sayfa başına 1.048.576 satıra kadar destekler, ancak yerli birleşim, dosyalar arası dizinli aramalar veya paylaşılan işlem modeli yoktur. Aynı XLSX'i düzenleyen iki analist, iki birbirinden farklı kopya üretir. Otuz çalışma kitabına yayılmış veriler üzerinde raporlama, bir sütun değiştiği anda kırılan VLOOKUP zincirleri yazmak demektir.
Access (ve FoxPro, OpenOffice Base ve çoğu BI aracı dahil DBF tüketen herhangi bir veritabanı), ilişkisel veriler için oluşturulmuştur. Tablolar tipli alanlara, birincil anahtarlara ve dizinlere sahiptir. Sorgular SQL kullanır: birleşimler, kombinasyonlar, filtreler, alt sorgular. Tek bir Access veritabanı, birden fazla bağlı tabloda on milyonlarca satır tutabilir ve bunları formlar ve raporlar aracılığıyla sunabilir. Excel verilerinin bu tür bir analizi yönetmesi gerektiğinde, önce bir veritabanı tablosuna ulaşması gerekir — ve DBF, Access'in dönüştürme sürtünmesi olmadan içe aktardığı biçimdir.
| Excel | Access / DBF | |
|---|---|---|
| Yapı | Sayfa başına düz ızgara | Tipli alanlar, dizinler, ilişkiler |
| Sorgulama | Formüller, VLOOKUP | Birleşimler ve kombinasyonlarla SQL |
| Ölçek | Sayfa başına 1M satır, 100K'dan sonra yavaş | Tablo başına on milyonlarca satır |
| Eşzamanlılık | Bir seferde bir editör | Satır kilitlemeli çok kullanıcılı |
| Íş akışı | Anlık analiz | Raporlama, ETL, BI boru hatları |
Yukarıdaki bağlantıdan yükleyiciyi indirin ve Windows sunucunuzda veya iş istasyonunuzda çalıştırın. Kurulum bir dakikadan kısa sürer. Microsoft Office kurulumu gerekmez — dönüştürücü, formüller, tarihler, sayısal hassasiyet ve Unicode dizeler dahil olmak üzere XLS ve XLSX'i kendi motoruyla doğrudan ayrıştırır.
cmd.exe veya PowerShell'i açın. Dönüştürücü yürütülebilir dosyası XLSConverter.exe olup kurulum klasöründe bulunur (genellikle C:\Program Files\CoolUtils\TotalExcelConverterX\). Sistem PATH'inize ekleyin veya komutlarınızda tam yolu kullanın.
En basit komut, bir klasördeki tüm Excel dosyalarını DBF'ye dönüştürür:
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF
Bu komut, C:\Books\ içindeki her .xlsx dosyasını işler ve sonuç DBF tablolarını C:\Output\ klasörüne kaydeder. Her çalışma kitabı, aynı temel ada sahip bir DBF üretir ve Dış Veri → dBase Dosyası aracılığıyla Access'e sürüklemeye hazırdır.
Sütunların DBF alanlarına nasıl dönüşeceğini ek bayraklarla kontrol edin:
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF -Sheet Sheet1 -FirstRowHeader 1 -log C:\Logs\xls2dbf.log
-Sheet Sheet1 — ada göre belirli bir çalışma sayfası seçin (veya bir dizin kullanın)-FirstRowHeader 1 — 1. satırı alan adları olarak ele alın; dönüştürücü bunları geçerli DBF tanımlayıcılarına temizler-Range A1:G500 — dönüştürmeyi belirli bir hücre aralığıyla sınırlayın-log C:\Logs\xls2dbf.log — her giriş dosyasını, çıktı dosyasını, satır sayısını ve tüm alan kısaltma uyarılarını listeleyen bir dönüştürme günlüğü yazınKomutunuzu bir .bat dosyasına kaydedin ve Windows Görev Zamanlayıcısı ile zamanlama yapın:
@echo off "C:\Program Files\CoolUtils\TotalExcelConverterX\XLSConverter.exe" C:\Incoming\*.xlsx C:\Archive\DBF\ -c DBF -FirstRowHeader 1 -log C:\Logs\xls2dbf.log
Her gece çalıştırın veya bir finans ekibi günlük çalışma kitabını gelen klasöre bıraktıktan sonra. DBF dosyaları daha sonra ODBC aracılığıyla Access'e bağlanır veya yerel tablolar olarak içe aktarılır ve raporlama boru hattının geri kalanı, çalışma sayfası karmaşası yerine gerçek bir veritabanına karşı çalışır.
Total Excel Converter X tam bir ActiveX arayüzü içerir. Dönüştürücüyü herhangi bir COM uyumlu ortamdan çağırabilirsiniz — .NET, VBScript, PHP, Python, Ruby veya ASP. Bu sayede, Excel'den DBF'ye dönüştürmeyi bir komut satırı işlemine yönlendirmeden kendi ETL hizmetinize, intranet portalınıza veya veri alım uygulamanıza gömebilirsiniz.
Örnek (C#/.NET):
XLSConverterX Cnv = new XLSConverterX();
Cnv.Convert("C:\\Books\\sales.xlsx", "C:\\Output\\sales.dbf", "-c DBF -FirstRowHeader 1 -log c:\\Logs\\xls.log");
Örnek (PHP):
$c = new COM("XLSConverter.XLSConverterX");
$c->convert("C:\\Books\\sales.xlsx", "C:\\Output\\sales.dbf", "-c DBF -FirstRowHeader 1 -log c:\\Logs\\xls.log");
Aynı çağrı ASP.NET, VBScript, Python, Ruby, Perl ve JavaScript (Windows Script Host) üzerinden de çalışır. Uygulamanız bir web formundan yüklenen XLSX dosyalarını kabul edebilir, bunları DBF'ye dönüştürebilir ve sonucu Access'e bağlayabilir veya doğrudan bir SQL Server hazırlık tablosuna yükleyebilir.
| Özellik | Çevrimiçi Dönüştürücüler | Total Excel Converter X |
|---|---|---|
| Toplu işleme | Tek seferde bir dosya | Toplu işlemde sınırsız dosya |
| Dosya gizliliği | Çalışma kitapları üçüncü taraf sunucuya yüklenir | Dosyalar makinenizden asla çıkmaz |
| Alan tipi algılama | Her şey Karakter olur | Sayısal, Tarih, Mantıksal, Karakter ortaya çıkarılır |
| Sayfa seçimi | Yalnızca ilk sayfa | Ada veya dizine göre herhangi bir sayfa |
| Satır sınırı | Sıkça 10K-50K satır ile sınırlıdır | Yapay sınır yok |
| Otomasyon | Yalnızca manuel | Komut satırı, .bat, Görev Zamanlayıcısı, ActiveX |
| Sunucu dağıtımı | Mümkün değil | Sunucular için tasarlanmış, GUI gerektirmez |
| Excel kurulumu gerektirir | Yok | Hayır |
Dönüştürücü XLS ve XLSX'i doğrudan okur ve Microsoft Excel, LibreOffice veya herhangi bir çalışma sayfası uygulaması kurulu olmadan DBF tabloları yazar. Bu, sunucu başına Office lisanslamasından ve gözetimsiz senaryolarda Excel'i otomatikleştirmenin iyi bilinen kararlılık sorunlarından kaçınır.
Sayılar sayısal kalır, tarihler Tarih alanı kalır, doğru/yanlış bayraklar Mantıksal olur, metin uygun genişlikle Karakter olur. Access, sonucu uygun şekilde tipli bir tablo olarak içe aktarır — anında dizinleyebilir, birleştirebilir ve sorgulayabilirsiniz, içe aktarım sonrası dönüştürme adımı yoktur.
Total Excel Converter X gözetimsiz kullanım için tasarlanmıştır. GUI pencereleri, iletişim kutuları, onay istemleri yoktur. Komut satırından veya bir hizmetin parçası olarak sessizce çalışır — tam olarak bir ETL ana bilgisayarının veya veri alım sunucusunun ihtiyacı olan budur.
Aynı komut satırı aracı, Excel'i CSV, JSON, XML, SQL, PDF, HTML, ODS ve daha fazlasına dönüştürür. Tek kurulumla Excel'den veritabanına ve Excel'den belgeye tüm boru hattınız karşılanır. -c DBF yerine -c SQL yazın ve aynı toplu işleme ve otomasyon özellikleriyle MySQL, PostgreSQL veya SQL Server'a yüklemeye hazır INSERT ifadelerinin bir betikini alın.
(30 gün, e-posta veya kredi kartı gerekmez)
(sunucu lisansı, kalıcı)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"Kliniğimiz haftalık kullanım verilerini XLSX olarak gönderir. Bunları içe aktarma sihirbazı aracılığıyla Access'e yüklemek her Pazartesi iki saat alıyordu. Şimdi XLSConverter.exe'yi SMB paylaşımı üzerinde zamanlanmış bir .bat'tan çalıştırıyoruz ve bağlı DBF tabloları otomatik olarak yenileniyor. Access sihirbazının bozduğu tarih sütunları dahil olmak üzere alan tipleri doğru şekilde geliyor. Hafta başına iki saat geri kazandık ve sıfır manuel dokunuş var."
Linnea Ostberg Database Administrator, Regional Health Network
"On beş yıllık sevkiyat çalışma sayfalarını trend analizi için tek bir Access veritabanına taşımamız gerekiyordu. Total Excel Converter X tüm arşivi tek bir toplu işte işledi — yaklaşık 4.200 çalışma kitabı — uzun bir hafta sonu boyunca. Günlük dosyası, kötü başlık satırları olan birkaç dosyayı işaretledi ve geri kalanı uygun Sayısal ve Tarih alanlarıyla Access'e ulaştı. Manuel içe aktarma veya kimsenin sürdüremeyeceği tek seferlik bir Python betikinin alternatifini geride bırakır."
Daniel Petrescu Reporting Analyst, Logistics Co.
"XLSConverter'ı, alım hizmetimize COM arayüzü aracılığıyla gömüyoruz. Müşteriler portal aracılığıyla Excel oran kartları yükler; hizmet bunları DBF'ye dönüştürür ve sonucu, SQL Server'a yükseltmeden önce doğrulama için hazırlık Access veritabanımıza bağlar. ActiveX çağrısı hızlı ve öngörülebilirdir. Sayfa seçimi ve FirstRowHeader neredeyse her müşteri şablonunu kapsar; birkaç uç durum bizim tarafımızda ön işleme gerektiriyordu, ancak destek sorduğumuzda yanıt verdi."
Aiyana Holloway ETL Developer, Insurance SaaS
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF. Bu, kaynak klasördeki tüm Excel çalışma kitaplarını, Access'in Dış Veri → dBase Dosyası aracılığıyla yerel olarak içe aktardığı bir DBF tablosuna dönüştürür. 1. satırı alan adları olarak kullanmak için -FirstRowHeader 1 ve belirli bir çalışma sayfası seçmek için -Sheet ekleyin.-FirstRowHeader 1 ile ilk satır alan adlarını sağlar, geçerli DBF tanımlayıcılarına temizlenir (maks 10 karakter, boşluksuz).-Sheet SayfaAdı kullanın veya her çalışma sayfası başına bir DBF üretmek için dönüştürücüyü sayfa başına bir kez çalıştırın. Her DBF, Access'te ayrı bir tablo olarak içe aktarılabilir, böylece daha önce tek bir çalışma kitabında yaşayan sayfalarda birleşim yapabilirsiniz.
string src = @"C:\test\Source.xlsx";
string dest = @"C:\test\Dest.pdf";
var cnv = new ExcelConverterX();
cnv.Convert(src, dest, "-cPDF -log c:\\test\\Excel.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\ExcelConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.xlsx";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(srcPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & source files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"{srcPath} {outPath}";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
int sleepCounter = 10;
while(!File.Exists(outPath) && sleepCounter > 0)
{
System.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("sleep...");
sleepCounter--;
}
if (File.Exists(outPath))
sbLogs.AppendLine("Conversion complete successfully.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("ExcelConverter.ExcelConverterX")
C.Convert "c:\test\source.xlsx", "c:\test\dest.pdf", "-cPDF -log c:\test\Excel.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("ExcelConverter.ExcelConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.pdf"
Response.BinaryWrite C.ConvertToStream("C:\www\ASP\Source.xlsx", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.xlsx";
$dest="C:\\test\\test.csv";
if (file_exists($dest)) unlink($dest);
$c= new COM("ExcelConverter.ExcelConverterX");
$c->convert($src,$dest, "-c csv -log c:\\test\\xls.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('ExcelConverter.ExcelConverterX')
src = "C:\\test\\test.xlsx"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-c PDF -log c:\\test\\Excel.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("ExcelConverter.ExcelConverterX")
src = "C:\\test\\test.xlsx"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-c PDF -log c:\\test\\Excel.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('ExcelConverter.ExcelConverterX');
c.Convert('c:\test\source.xlsx', 'c:\test\dest.pdf', '-cPDF -log c:\test\Excel.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("ExcelConverter.ExcelConverterX");
c.Convert("C:\\test\\source.xlsx", "C:\\test\\dest.pdf", "-c PDF");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.xlsx"; my $dest = "C:\\test\\test.csv"; my $c = CreateObject Win32::OLE 'ExcelConverter.ExcelConverterX'; $c->convert($src, $dest, "-c csv -log c:\\test\\xls.log"); print $c->ErrorMessage if -e $dest;
Ücretsiz deneme sürümünü indirin ve dosyalarınızı dakikalar içinde dönüştürün.
Kredi kartı veya email gerekli değil.