گیک فارسی

نوشته های یک گیک فارسی از فعالیت ها ،‌ علاقه مندی ها و نقد هایش

از فایل اکسل (Excel) خروجی CSV گرفتن

نویسنده:
۴ اردیبهشت ۹۸

از جمله گارد‌هایی که در زمان پیشنهاد مهاجرت از ویندوز به لینوکس از طرف دوستان گرفته می‌شود و بسیار هم حق به جانب اظهار میشه موضوع نبودن جایگزین مناسب برای برنامه ‌های Microsoft Office هست اما شاید براتون جالب باشه که بدونین امکان نداره بشه به صورت مستقیم از یک فایل Excel خروجی CSV با فرمت UTF-8 درست و بدون خونریزی گرفت.

یکی از فرمت‌های بسیار رایج در زمان ورود اطلاعات به برنامه‌ها فرمت CSV هست و من هم تقریباً توی همه برنامه‌هایی که نوشتم از همین فرمت استفاده میکنم چون پردازش فایل‌های Excel در مقایسه با فایل ‌های CSV خیلی پر دردسر هستش. متأسفانه همونطور که توضیح دادم توی Excel نمیشه خروجی سالم و تمیزی از یک فایل Excel به صورت CSV گرفت و خروجی مشکلات زیادی خواهد داشت.

ساده‌ترین راه حل این هست که Libre Office نصب کنین و ازش خروجی CSV بگیرین.

اما راه حل پیچیده‌تر این هست که Excel یک نوع خروجی به نام Unicode Text داره که همون CSV هست به صورت Tab Delimited (یعنی فیلد ها با کاراکتر Tab از هم جدا شده‌اند) که شما میتونین پس از ذخیره فایل اون را توی Notepad باز کنید و بعدش با Save As گرفتن تبدیل به UTF-8 کنین.

اگر هم نیاز دارین از یک Delimiter (جدا کننده) دیگری مثل , یا ; استفاده کنین میتونین با Replace کردن Tab با کاراکتر مورد نظر این کار را انجام بدین (البته اگه توی فیلد‌های متنی Tab داشته باشین براتون دردسر میشه و باید با یک ویرایشگر قوی‌تر و استفاده از RegEx تبدیل را انجام بدین)