مواد پر جائیں

اسپریڈشیٹ ٹولز جو ڈیٹا کی قسم درست رکھتے ہیں

Excel، CSV، JSON، XML، PDF اور OpenDocument کے درمیان ٹیبلز منتقل کرنے کے نو ٹولز۔ جن تین کو مکمل اسپریڈشیٹ ایپلیکیشن درکار ہے، وہ فائل ہمارے سرور پر بھیجتے ہیں، جو آپ کا ڈاؤن لوڈ تیار ہوتے ہی اسے حذف کر دیتا ہے۔

9 ٹولز، نہ سائن اپ، نہ واٹر مارک

اگر کسی سسٹم کو CSV چاہیے تو Excel سے CSV سے شروع کریں؛ اگر CSV، Excel میں ایک ہی بگڑے ہوئے کالم کی صورت میں کھل رہی ہے تو CSV سے Excel؛ اگر ڈیٹا کوڈ میں جانا ہے تو CSV سے JSON یا JSON سے CSV۔ پرانی .xls فائلیں اور OpenDocument ورک بکس XLS سے XLSX، ODS سے XLSX اور XLSX سے ODS سنبھالتے ہیں، جو فارمیٹنگ اور چارٹس برقرار رکھتے ہیں، اور PDF سے Excel کسی ایسی رپورٹ سے ٹیبل واپس نکالتا ہے جس کی اصل فائل کسی نے آپ کو بھیجی ہی نہیں۔ نیچے دیے گئے نوٹس اس بات کی وضاحت کرتے ہیں جو تقریباً ہر اسپریڈشیٹ کنورژن کے مسئلے کی جڑ ہے: سیل میں جو محفوظ ہوتا ہے اور جو وہ آپ کو دکھاتا ہے، ان کا فرق۔

سیل میں اصل میں کیا محفوظ ہوتا ہے

اسپریڈشیٹ کا سیل دو الگ چیزیں رکھتا ہے: ایک ویلیو اور ایک نمبر فارمیٹ۔ ویلیو 0.15 کو 15%، 0.15، £0.15 یا 15.00% کے طور پر دکھایا جا سکتا ہے، اور ان میں سے کوئی بھی ڈسپلے ویلیو کو ذرا بھی نہیں بدلتا۔ اسپریڈشیٹس کے بارے میں یہ سب سے کارآمد حقیقت ہے، اور اسی لیے Excel سے CSV اندازہ لگانے کے بجائے آپ سے “جیسے Excel میں دکھتی ہیں” اور “خام نمبر، ISO تاریخیں” میں سے ایک چننے کو کہتا ہے۔ “جیسے Excel میں دکھتی ہیں” بالکل وہی ٹیکسٹ لکھتا ہے جو اسکرین پر ہے — 15/03/2024، 1,234.50، 12% — جو Excel کا اپنا Save As بھی کرتا ہے اور CSV پڑھنے والا انسان بھی یہی توقع کرتا ہے۔ “خام نمبر، ISO تاریخیں” سادہ نمبر اور ISO تاریخیں لکھتا ہے، جو ڈیٹا بیس یا اسکرپٹ کو چاہیے ہوتا ہے۔ غلط آپشن چنیں تو امپورٹ اس طرح ناکام ہوتا ہے کہ لگتا ہے ڈیٹا ہی خراب ہے۔

تاریخیں دراصل نمبر ہیں جو تاریخ کا روپ دھارے ہوئے ہیں۔ تاریخ والا سیل دنوں کی ایک ترتیب وار گنتی رکھتا ہے، اور یہ گنتی کس دن سے شروع ہوتی ہے، یہ فائل پر منحصر ہے: Windows والے Excel کی ورک بکس 1900 سے گنتی ہیں، پرانے Mac والے Excel کی ورک بکس 1904 سے، اور دونوں میں 1,462 دن کا فرق ہے۔ 1900 والا سسٹم اس سے بھی عجیب ہے — وہ مانتا ہے کہ 29 فروری 1900 موجود تھی، یہ Lotus 1-2-3 سے ورثے میں ملنے والی غلطی ہے جو مطابقت کی خاطر آج تک رکھی گئی ہے۔ یہاں کے ٹولز ہر ورک بک کا اپنا نقطۂ آغاز پڑھتے ہیں اور اس جعلی لیپ ڈے کو ٹھیک اسی جگہ دوبارہ بناتے ہیں جہاں وہ ہونا چاہیے، اسی لیے یہاں تبدیل کی گئی تاریخ وہی ہوتی ہے جو Excel دکھاتا ہے، نہ کہ چار سال اور ایک دن آگے پیچھے۔

فارمولا اور اس کا نتیجہ ساتھ ساتھ محفوظ ہوتے ہیں۔ ورک بک فارمولے کا ٹیکسٹ بھی رکھتی ہے اور آخری بار حساب کی گئی ویلیو بھی۔ ورک بک سے ورک بک کنورژنز — ODS سے XLSX، XLS سے XLSX، XLSX سے ODS — خود فارمولے منتقل کرتے ہیں، دونوں کی فنکشن لغات کے درمیان ترجمہ کر کے، تاکہ ایڈٹ کرنے پر شیٹ دوبارہ حساب لگائے؛ وہ چند فنکشنز جو صرف ایک طرف موجود ہیں، تب تک #NAME? دکھاتے ہیں جب تک آپ انہیں بدل نہ دیں۔ جو کچھ بھی اسپریڈشیٹ کی دنیا سے باہر جاتا ہے — CSV، JSON، XML — وہ صرف حساب شدہ نتیجہ لے جاتا ہے، کیونکہ ان میں سے کسی فارمیٹ میں فارمولے کا کوئی تصور ہی نہیں۔

CSV ورک بک کا زیادہ تر حصہ ظاہر ہی نہیں کر سکتی، اور اس کے برعکس ظاہر کرنا ہی وہ جگہ ہے جہاں ڈیٹا ضائع ہوتا ہے۔ اس میں شیٹس نہیں ہوتیں، اس لیے ہر شیٹ اپنی الگ فائل بنتی ہے (اور اگر آپ سب چاہیں تو ایک ZIP)۔ اس میں سیل کی اقسام نہیں ہوتیں، اس لیے ہر فیلڈ تب تک ٹیکسٹ ہے جب تک کوئی اندازہ نہ لگائے۔ اس میں نہ فارمیٹس ہیں، نہ فارمولے، نہ چارٹس، نہ تصاویر، نہ رنگ، نہ کالمز کی چوڑائی۔ مرج کیے گئے سیلز کا کسی ایک طرح فیصلہ کرنا پڑتا ہے — ویلیو پہلے سیل میں، یا پورے مرج پر دہرائی ہوئی۔ اور یہ اپنا ڈیلیمیٹر، اپنا اعشاری نشان یا اپنی انکوڈنگ درج نہیں کرتی، اسی لیے سیمی کولن اور اعشاریہ کے لیے کوما والی یورپی فائل امریکی Excel میں ایک ہی کالم میں آ جاتی ہے، اور ایکسنٹ والا ٹیکسٹ بے معنی علامتوں (mojibake) میں بدل جاتا ہے، جب تک فائل بائٹ آرڈر مارک سے شروع نہ ہو۔

نمبر جیسا دکھنے والا ٹیکسٹ ہی اصل نقصان کی جگہ ہے۔ CSV کھولتے وقت Excel ہر سیل کا الگ الگ اندازہ لگاتا ہے: ZIP کوڈ 01234 کا صفر غائب ہو جاتا ہے، 16 ہندسوں والا آرڈر ID 1.23457E+15 بن جاتا ہے اور واپس نہیں آ سکتا، اور جین کا نام SEPT2 تاریخ بن جاتا ہے — یہ مسئلہ اتنا سنگین تھا کہ جینیات کے ماہرین نے اپنے جینز کے نام ہی بدل دیے۔ CSV سے Excel اس کے بجائے ہر کالم کا ایک بار فیصلہ کرتا ہے، اس کی تمام ویلیوز دیکھ کر، اور تبدیل تبھی کرتا ہے جب پورا کالم متفق ہو؛ شروع میں صفر والی کوئی بھی چیز، اور کوئی بھی ایسا عدد جو اتنا لمبا ہو کہ JavaScript نمبر اسے بالکل درست نہ رکھ سکے، ٹیکسٹ ہی رہتا ہے۔ JSON سے CSV الٹی سمت میں یہی احتیاط برتتا ہے اور 64-bit IDs کو ہندسہ بہ ہندسہ نقل کرتا ہے، جبکہ زیادہ تر کنورٹرز انہیں راؤنڈ کر دیتے ہیں۔

JSON اور XML دونوں اپنی اپنی کوئی چیز چھوڑ دیتے ہیں۔ JSON میں تاریخ کی کوئی قسم ہی نہیں، اس لیے تاریخیں ٹیکسٹ کے طور پر جاتی ہیں اور وصول کرنے والے کوڈ کو معلوم ہونا چاہیے کہ وہ کیا دیکھ رہا ہے۔ ڈیٹا XML صرف ویلیوز لے جاتا ہے، نہ فارمیٹنگ، نہ چارٹس، نہ تصاویر — جو امپورٹ فیڈ کو بالکل یہی چاہیے، مگر اگر مقصد ورک بک کو جوں کا توں رکھنا تھا تو یہ آپ کے کام کا نہیں۔

جہاں براؤزر واقعی غلط ٹول ہے

ان میں سے سات ٹولز آپ کی فائل کبھی کہیں نہیں بھیجتے: Excel سے CSV، CSV سے Excel، CSV سے JSON، JSON سے CSV، XML سے Excel، Excel سے XML اور PDF سے Excel۔ کچھ بھی محفوظ نہیں کیا جاتا، جو تب اہم ہے جب فائل تنخواہوں کی شیٹ یا کسٹمرز کی فہرست ہو۔ چار مختلف ہیں — Excel سے PDF، ODS سے XLSX، XLS سے XLSX اور XLSX سے ODS فائل ہمارے سرور کو دیتے ہیں، کیونکہ پرنٹ شدہ صفحے کی ترتیب بنانا، یا فونٹس، رنگ، کنڈیشنل فارمیٹنگ اور چارٹس کو ایک فارمیٹ سے دوسرے میں لے جانا ایسا کام نہیں جو کوئی ویب پیج دکھاوے سے کر لے۔ یہ فائلیں انکرپٹڈ کنکشن پر جاتی ہیں، تبدیل ہوتی ہیں، اور آپ کا ڈاؤن لوڈ تیار ہوتے ہی حذف کر دی جاتی ہیں۔ اگر سرور تک رسائی نہ ہو تو ہر ایک اپنے متبادل کنورٹر پر چلا جاتا ہے، جو ویلیوز، فارمولے، نمبر فارمیٹس، مرج شدہ سیلز اور کالمز کی چوڑائی تو رکھتا ہے مگر فونٹس، رنگ یا چارٹس نہیں، اور آپ کو بتا دیتا ہے کہ ایسا ہوا ہے۔

سائز۔ براؤزر میں چلنے والے ٹولز پورا ٹیبل میموری میں رکھتے ہیں، اس لیے حد آپ کے ٹیب کی میموری ہے — دسیوں میگا بائٹس تک آرام سے، سو سے اوپر مشکل، اور کئی گیگا بائٹس کے ڈیٹا کے لیے بے کار۔ ورک بک کنورٹرز کی حد فی فائل 50 MB ہے اور Excel سے PDF کی 40 MB، اور دونوں یہ بات کنورٹ کرنے سے پہلے بتا دیتے ہیں، بعد میں نہیں۔ Excel شیٹ خود 1,048,576 رو پر رک جاتی ہے، جو فارمیٹ کی حد ہے، ہماری نہیں؛ CSV سے Excel آپ کا ڈیٹا خاموشی سے کاٹنے کے بجائے ہیڈر دہرا کر اضافی شیٹس پر جاری رکھتا ہے۔

اصل ڈیٹا کا کام۔ کنورٹر ڈیٹا بیس نہیں ہوتا۔ دو ٹیبلز جوڑنا، ڈپلیکیٹس ہٹانا، مجموعے نکالنا، ایک کروڑ رو فلٹر کرنا یا کسی بے ترتیب ایکسپورٹ کا جائزہ لینا ان ٹولز کا کام ہے جو اسی کے لیے بنے ہیں، اور مفت ٹولز بہت اچھے ہیں: کمانڈ لائن پر CSV کی فوری کانٹ چھانٹ کے لیے csvkit، JSON اور CSV دونوں پر یہی کام کرنے کے لیے Miller، بہت بڑی فائلوں پر رفتار کے لیے qsv، CSV یا Parquet فائل پر براہِ راست اصل SQL چلانے کے لیے DuckDB، اور اگر آپ پہلے سے Python میں ہیں تو pandas۔

میکروز، اور ہر وہ چیز جو چلتی ہے۔ VBA کو .xlsx میں نہیں لے جایا جا سکتا، کیونکہ اس میں اسے رکھنے کی جگہ ہی نہیں، اور .ods میں بھی نہیں لے جایا جاتا کیونکہ LibreOffice صرف VBA کا کچھ حصہ چلاتا ہے اور فرق خرابیوں کے بجائے غلط نمبروں کی صورت میں سامنے آتا۔ اگر ورک بک اپنے میکروز پر منحصر ہے تو تبدیل شدہ کاپی کے ساتھ اصل فائل بھی رکھیں۔ پاس ورڈ والی فائلوں کا پاس ورڈ پہلے ہٹانا ہوگا، اسی پروگرام میں جس نے اسے لگایا تھا۔

آٹومیشن۔ یہ ٹولز تب چلتے ہیں جب کوئی انسان کلک کرے۔ ہر رات آنے والی فیڈ کو تبدیل کرنا کمانڈ لائن کا کام ہے: headless موڈ میں LibreOffice اس صفحے کا ہر فارمیٹ سنبھال لیتا ہے۔

ملتے جلتے ناموں والے ٹولز میں سے انتخاب

Excel سے CSV بمقابلہ Excel سے XML۔ دونوں ورک بک پڑھ کر ایک سادہ ڈیٹا فائل لکھتے ہیں، اور فیصلہ منزل کرتی ہے۔ CSV اسپریڈشیٹس، ڈیٹا بیسز اور ہر اس جگہ جاتی ہے جو کہے “CSV اپ لوڈ کریں”۔ XML ان امپورٹس اور انٹیگریشنز میں جاتی ہے جو عناصر کے نام متعین کرتی ہیں — آپ روٹ اور رو کے نام طے کرتے ہیں، ہیڈرز عناصر کے نام بن جاتے ہیں، اور ویلیوز سادہ نمبروں اور ISO تاریخوں کی صورت میں نکلتی ہیں۔ Excel سے XML، XML Spreadsheet 2003 بھی لکھ سکتا ہے، جو بالکل الگ چیز ہے: ایسا فارمیٹ جسے Excel دوبارہ ورک بک کے طور پر کھولتا ہے، اس وقت کے لیے جب کوئی سسٹم آپ کے اپنے ڈیٹا XML کے بجائے “Excel XML” مانگے۔

CSV سے Excel بمقابلہ CSV سے JSON۔ وہی پارسر، ہر کالم کی قسم پہچاننے کا وہی طریقہ، آؤٹ پٹ مختلف۔ CSV سے Excel ایک .xlsx بناتا ہے جس میں اصل تاریخیں اور نمبر ہوتے ہیں جنہیں آپ جمع اور ترتیب دے سکیں، اور ایک منجمد، فلٹر ہونے والی ہیڈر رو — انسانوں کے لیے۔ CSV سے JSON آبجیکٹس کی array، arrays کی array، کیز والا آبجیکٹ یا JSON Lines بناتا ہے — کوڈ کے لیے۔ اگر جواب “دونوں” ہے تو انسانوں کے لیے Excel میں اور پائپ لائن کے لیے JSON میں تبدیل کریں؛ دونوں ایک دوسرے سے متفق ہوں گے، کیونکہ کالمز کی اقسام ایک ہی طریقے سے طے ہوئیں۔

XML سے Excel بمقابلہ Excel سے XML۔ صرف الٹی سمتیں نہیں۔ XML سے Excel کو پہلے ٹیبل ڈھونڈنا پڑتا ہے: یہ ایک ہی پیرنٹ کے نیچے دہرائے جانے والے عناصر تلاش کرتا ہے — کیٹلاگ میں ہر <book>، RSS فیڈ میں ہر <item> — ہر گروپ کو اسکور دیتا ہے اور باقی کو ایک کلک کے فاصلے پر پیش کرتا ہے، پھر attributes اور اندرونی عناصر کو پاتھ کے نام والے کالمز میں ہموار کر دیتا ہے۔ Excel سے XML کو کچھ ڈھونڈنا نہیں پڑتا، کیونکہ آپ کی رو پہلے ہی ریکارڈز ہیں۔

XLS سے XLSX بمقابلہ CSV سے Excel۔ دونوں کا نتیجہ ایک جدید ورک بک ہے۔ XLS سے XLSX اصل Excel 97–2003 بائنری فائل کو اپ گریڈ کرتا ہے اور اس کی ہر چیز رکھتا ہے — شیٹس، فارمولے، فارمیٹنگ، چارٹس۔ CSV سے Excel ایسے سادہ ٹیکسٹ سے ورک بک بناتا ہے جس میں ان میں سے کچھ بھی کبھی تھا ہی نہیں۔ مشترکہ حصہ وہ پریشان کن درمیانی صورت ہے: بہت سی ویب ایپس HTML ٹیبل یا XML فائل ایکسپورٹ کر کے اس کا نام .xls رکھ دیتی ہیں۔ XLS سے XLSX انہیں ان کی اصل شکل میں پہچانتا ہے اور ایک حقیقی ورک بک محفوظ کرتا ہے۔

PDF سے Excel بمقابلہ Excel سے PDF۔ الٹی سمتیں، اور ان میں سے صرف ایک قابلِ اعتماد ہے۔ Excel سے PDF لے آؤٹ کا کام ہے: ورک بک پہلے سے اپنا پرنٹ ایریا، اپنے پیج بریکس اور اپنی فارمیٹنگ جانتی ہے، اور کنورٹر انہیں بنا دیتا ہے۔ PDF سے Excel مشکل سمت ہے، کیونکہ PDF یہ درج کرتی ہے کہ ہر حرف کہاں بنایا گیا، یہ بالکل نہیں کہ وہ کس سیل کا تھا — کالمز جگہ دیکھ کر اخذ کیے جاتے ہیں۔ یہ صاف، لکیروں والے ٹیبلز پر اچھا کام کرتا ہے، جہاں سیلز مرج ہوں یا کئی لائنوں میں لپٹے ہوں وہاں صفائی مانگتا ہے، فارمیٹنگ یا فارمولوں کے بجائے ویلیوز دوبارہ بناتا ہے، اور PDF کے ہر صفحے کو اپنی الگ شیٹ دیتا ہے۔ اگر اصل ورک بک اب بھی موجود ہے تو وہی مانگ لیں۔

.ods فائل کے لیے ODS سے XLSX بمقابلہ Excel سے CSV۔ Excel سے CSV خوشی سے .ods کھول کر آپ کو ویلیوز دے دیتا ہے۔ ODS سے XLSX ورک بک کو ورک بک ہی رکھتا ہے، اس کے فارمولوں، فارمیٹنگ اور چارٹس کے ساتھ۔ جب کسی کو فائل میں کام کرنا ہو تو کنورٹر استعمال کریں، اور جب کسی سسٹم کو اس میں سے نمبر نکالنے ہوں تو CSV والا راستہ۔

یہ ٹولز کس چیز پر بنے ہیں

اصل کام کرنے والے اوپن سورس انجن، اور وہ اسپیسیفکیشنز جن پر وہ عمل کرتے ہیں۔

  • SheetJSApache-2.0 — یہاں کا ہر ورک بک فارمیٹ پڑھتا اور لکھتا ہے.
  • LibreOffice CalcMPL-2.0 — دستیاب ہونے پر وہ کنورژنز کرتا ہے جو براؤزر نہیں کر سکتا.
  • RFC 4180Specification — CSV کے لیے معیار کے سب سے قریب چیز ہے، اور بتاتا ہے کہ فائلیں آپس میں کیوں مختلف ہوتی ہیں.

اکثر پوچھے جانے والے سوالات

کیا میری اسپریڈشیٹس کہیں محفوظ کی جاتی ہیں؟

Excel سے CSV، CSV سے Excel، CSV سے JSON، JSON سے CSV، XML سے Excel، Excel سے XML یا PDF سے Excel میں نہیں — یہ آپ کی فائل پڑھ کر نتیجہ اسی ٹیب کے اندر لکھتے ہیں، اور کچھ بھی کہیں نہیں بھیجا جاتا۔ Excel سے PDF اور تینوں ورک بک کنورٹرز فائل انکرپٹڈ کنکشن پر ہمارے سرور کو بھیجتے ہیں، کیونکہ صفحے کی ترتیب بنانے یا فارمیٹنگ اور چارٹس منتقل کرنے کے لیے انہیں ایک اصل اسپریڈشیٹ ایپلیکیشن درکار ہے؛ فائل تبدیل ہو کر فوراً حذف کر دی جاتی ہے، اور کچھ بھی محفوظ، لاگ یا شیئر نہیں کیا جاتا۔

جب میں CSV پر بس ڈبل کلک کرتا ہوں تو Excel اسے خراب کیوں کر دیتا ہے؟

کیونکہ Excel ہر سیل کا الگ الگ اندازہ لگاتا ہے اور کبھی پوچھتا نہیں۔ شروع کے صفر غائب ہو جاتے ہیں، لمبی IDs سائنسی نوٹیشن بن جاتی ہیں، تاریخیں دن پہلے اور مہینہ پہلے کے درمیان الٹ جاتی ہیں، اور سیمی کولن والی فائل ایک ہی کالم میں آ جاتی ہے۔ CSV سے Excel ہر کالم کا اس کی تمام ویلیوز دیکھ کر ایک بار فیصلہ کرتا ہے اور ڈاؤن لوڈ سے پہلے آپ کو ہر فیصلہ دکھاتا ہے، تاکہ آپ بعد میں پتا چلنے کے بجائے اسے درست کر سکیں۔

میرے ایکسنٹ والے حروف کی جگہ عجیب علامتیں کیوں ہیں؟

CSV اپنی انکوڈنگ درج نہیں کرتی، اس لیے Excel آپ کے کمپیوٹر کے پرانے علاقائی کوڈ پیج پر چلا جاتا ہے، جب تک فائل بائٹ آرڈر مارک سے شروع نہ ہو۔ Excel سے CSV میں “BOM کے ساتھ UTF-8” چنیں تو ایکسنٹ، سیریلک، عربی، چینی اور ایموجی سب درست کھلتے ہیں۔ مارک کے بغیر سادہ UTF-8 ڈیٹا بیسز اور کوڈ کے لیے درست انتخاب ہے، جنہیں یہ مارک نہیں چاہیے۔

میرے فارمولوں کا کیا ہوتا ہے؟

ورک بک سے ورک بک میں وہ فارمولوں کے طور پر ہی منتقل ہوتے ہیں اور حساب لگاتے رہتے ہیں؛ جو فنکشن صرف ایک طرف موجود ہو وہ تب تک #NAME? دکھاتا ہے جب تک آپ اسے بدل نہ دیں۔ CSV، JSON یا XML میں صرف حساب شدہ نتیجہ لکھا جاتا ہے، کیونکہ ان فارمیٹس میں فارمولا رکھنے کی کوئی جگہ نہیں۔ الٹی سمت میں، = سے شروع ہونے والا سیل ٹیکسٹ کے طور پر لکھا جاتا ہے، کبھی فعال فارمولے کے طور پر نہیں، اس لیے کوئی نقصان دہ CSV ورک بک کھلنے پر کچھ نہیں چلا سکتی۔

کیا فائل کے سائز یا روزانہ استعمال کی کوئی حد ہے؟

نہ اکاؤنٹ، نہ کوٹا، نہ روزانہ کی حد۔ براؤزر والے ٹولز کی حد آپ کے ڈیوائس کی میموری ہے؛ ورک بک کنورٹرز 50 MB تک کی فائلیں لیتے ہیں اور Excel سے PDF 40 MB تک، اور اگر آپ کی فائل بڑی ہو تو دونوں صاف بتا دیتے ہیں۔

کیا واٹر مارک یا رو کی کوئی حد ہوگی؟

نہیں۔ یہاں کچھ بھی رو کی تعداد محدود نہیں کرتا، شیٹ پر ٹرائل کا نوٹس نہیں لگاتا اور نہ آپ کا ڈیٹا کاٹتا ہے۔ رو کی واحد حد Excel کی اپنی 1,048,576 ہے، اور لمبی فائلیں کٹنے کے بجائے اضافی شیٹس پر جاری رہتی ہیں۔ صفحے پر اشتہارات ہی اسے مفت رکھتے ہیں۔