mpp-viewer

 
 

مشاهده و استخراج فایل‌های MPP از طریق کتابخانهٔ منبع باز جاوا

مشاهدهٔ فایل‌های برنامه‌ریزی مایکروسافت پروژه (MPP) در حالت فقط‑خواندنی و استخراج به اکسل از طریق برنامهٔ منبع باز جاوا.

mpp-viewer چیست؟

mpp-viewer یک برنامه رایگان و متن‌باز جاوا است که برای مشاهده فایل‌های Microsoft Project Plan (MPP) در حالت فقط‑خواندنی طراحی شده است. این برنامه رابط کاربری دوستانه‌ای مشابه Microsoft Project ارائه می‌دهد و کارها را در ساختار سلسله‌مراتبی نمایش می‌دهد، از جمله تاریخ‌های شروع/پایان، پیش‌نیازها و منابع اختصاص یافته. این ابزار فرمت‌های MPP از 2007 تا 2013 را پشتیبانی می‌کند و به‌صورت خودکار کارهای تکمیل‌شده یا با تاخیر را برای تجزیه و تحلیل بصری سریع برجسته می‌نماید. همچنین به کاربران امکان می‌دهد کارهای خاص را جستجو کنند، جزئیات کار را کپی کنند و فایل‌های .mpp را به‌طور مستقیم با نمایشگر مرتبط سازند تا یکپارچگی جریان کار بدون مشکل فراهم شود.

یکی از نقاط قوت اصلی آن توانایی استخراج داده‌های MPP به فایل‌های Excel (XLS/XLSX) است که آن را برای گزارش‌گیری و به‌اشتراک‌گذاری داده‌های پروژه خارج از Microsoft Project ایده‌آل می‌سازد. mpp-viewer به‌صورت کامل با جاوا ساخته شده است، مستقل از پلتفرم بوده و بر روی هر سیستمی که محیط اجرایی جاوا سازگار داشته باشد اجرا می‌شود. طراحی سبک و رابط کاربری شهودی آن را به گزینه‌ای عملی برای تیم‌هایی که به دسترسی سریع به داده‌های برنامه‌ریزی پروژه نیاز دارند بدون نیاز به مجوزهای نرم‌افزاری گران‌قیمت تبدیل می‌کند. با ویژگی‌هایی مانند برجسته‌سازی وظیفه، فیلتر کردن و انتخاب متن، mpp-viewer دیدگاه اساسی پروژه را با حداقل بار اضافی فراهم می‌کند.

Previous Next

شروع کار با mpp-viewer

mpp-viewer یک برنامهٔ مستقل جاوا است که در گیت‌هاب موجود است. می‌توانید آخرین نسخه را از مخزن GitHub mpp-viewer دانلود کنید، یا با استفاده از Maven از منبع آن را بسازید. این پروژه شامل فایل‌های JAR پیش‌ساخته برای استفاده فوری است. به سادگی فایل JAR را دانلود کنید، اطمینان حاصل کنید که جاوا ۸ یا بالاتر نصب شده است، و آن را با java -jar mpp-viewer.jar اجرا کنید. نیازی به نصب یا پیکربندی نیست — که آن را برای مرور سریع برنامه‌های پروژه در ویندوز، macOS یا لینوکس ایده‌آل می‌کند. وزن سبک آن باعث راه‌اندازی سریع و عملکرد روان حتی با فایل‌های بزرگ MPP می‌شود.

اجرای mpp-viewer از طریق فرمان جاوا

java -jar mpp-viewer.jar

مشاهده فایل‌های MPP با سلسله‌مراتب کامل کارها

mpp-viewer نمایش وظایف Microsoft Project را در یک نمای درختی ساختاریافته و سلسله‌مراتبی ارائه می‌دهد، در حالی که ساختار WBS (Work Breakdown Structure) اصلی و روابط والد-فرزند را حفظ می‌کند. هر وظیفه جزئیات کلیدی مانند نام، تاریخ شروع، تاریخ پایان، مدت زمان، درصد تکمیل و لینک‌های پیش‌نیاز را نشان می‌دهد. منابع اختصاص یافته به وظایف نیز فهرست می‌شوند، که به کاربران نمایی جامع از توزیع بار کاری می‌دهد. رابط کاربری شبیه به چیدمان آشنا Microsoft Project است و منحنی یادگیری برای کاربران موجود را کاهش می‌دهد. این باعث می‌شود که برای مدیران پروژه که نیاز به مرور سریع زمان‌بندی‌ها و وابستگی‌های پروژه بدون باز کردن کامل برنامه Microsoft Project دارند، بسیار مفید باشد.

چگونه یک فایل MPP را باز و مشاهده کنیم؟

// mpp-viewer is launched via GUI; no code needed for basic viewing
// However, internally it uses MPXJ library to parse MPP files:
// net.sf.mpxj.reader.MPPReader reader = new MPPReader();
// ProjectFile project = reader.read(new File("project.mpp"));

برجسته‌سازی کارهای تکمیل‌شده و به‌تاخیر افتاده

mpp-viewer به‌صورت خودکار وظایف را بر اساس وضعیتشان برجسته می‌کند — وظایف تکمیل‌شده به رنگ سبز نمایش داده می‌شوند، در حالی که وظایف تأخیر‌دار (معوق) به رنگ قرمز نشان داده می‌شوند. این نشانهٔ بصری به مدیران پروژه کمک می‌کند تا به‌سرعت موارد در معرض خطر را شناسایی کرده و پیشرفت را در یک نگاه پیگیری کنند. منطق برجسته‌سازی از درصد تکمیل وظیفه و تاریخ پایان واقعی نسبت به برنامهٔ پایه استفاده می‌کند. کاربران می‌توانند برجسته‌سازی را از طریق تنظیمات رابط کاربری سفارشی یا فعال/غیرفعال کنند. این تجسم وضعیت لحظه‌ای تصمیم‌گیری و گزارش‌گیری وضعیت را بهبود می‌بخشد، به‌ویژه در طول بررسی‌های پروژه یا جلسات ذینفعان که بینش‌های سریع حیاتی هستند.

چگونه برجسته‌سازی وضعیت کار را فعال کنیم؟

// Highlighting is handled internally by the UI renderer:
// if (task.getActualFinish() != null && task.getActualFinish().before(today)) {
//     style = Style.COMPLETED;
// } else if (task.getFinish().before(today) && task.getPercentComplete() < 100) {
//     style = Style.DELAYED;
// }
// No user code required — highlighting is automatic.

صادرات داده‌های MPP به اکسل

mpp-viewer شامل یک ویژگی صادرات داخلی است که داده‌های پروژه MPP را به فرمت Excel (XLS/XLSX) تبدیل می‌کند. این برای به اشتراک‌گذاری جدول زمانی پروژه با ذینفعانی که دسترسی به Microsoft Project ندارند، بسیار ارزشمند است. صادرات فیلدهای کلیدی مانند نام کار، تاریخ‌ها، مدت زمان، منابع و پیش‌نیازها را در یک قالب صفحه‌گسترده ساختاریافته حفظ می‌کند. کاربران می‌توانند کارهای خاصی را انتخاب یا کل پروژه را صادر کنند. فایل Excel حاصل آماده برای تجزیه و تحلیل بیشتر، گزارش‌گیری یا یکپارچه‌سازی با ابزارهای دیگر مانند Power BI یا PivotTables اکسل است — که mpp-viewer را به پلی قدرتمند بین برنامه‌ریزی پروژه‌های سازمانی و جریان‌های کاری هوش تجاری تبدیل می‌کند.

چگونه MPP را به اکسل صادر کنیم؟

// Export is triggered via UI menu: File → Export → Excel
// Internally, Apache POI is used:
// Workbook workbook = new XSSFWorkbook();
// Sheet sheet = workbook.createSheet("Tasks");
// // Write header and task rows...
// try (FileOutputStream fos = new FileOutputStream("export.xlsx")) {
//     workbook.write(fos);
// }

جستجو و کپی اطلاعات کارها

mpp-viewer یک نوار جستجوی سریع فراهم می‌کند تا وظایف را بر اساس نام، شناسه یا منبع پیدا کنید — ایده‌آل برای پروژه‌های بزرگ با صدها وظیفه. نتایج در فهرست وظایف برجسته می‌شوند و کاربران می‌توانند برای پرش مستقیم به وظیفه کلیک کنند. علاوه بر این، می‌توانید هر جزئیات وظیفه (مانند تاریخ‌ها، پیش‌نیازها، یادداشت‌ها) را انتخاب و کپی کنید و به کلیپ‌بورد منتقل کنید تا در ایمیل‌ها، گزارش‌ها یا مستندات استفاده شود. این کار از تایپ دستی جلوگیری کرده و خطاها را کاهش می‌دهد. ترکیب قابلیت‌های جستجو و کپی به‌طور قابل‌توجهی بهره‌وری را در طول ممیزی‌های پروژه، به‌روزرسانی‌های وضعیت یا هماهنگی بین تیم‌ها افزایش می‌دهد.

چگونه جزئیات کار را جستجو و کپی کنیم؟

// Search is handled via UI input field:
// List results = project.getTasks().stream()
//     .filter(t -> t.getName().toLowerCase().contains(query))
//     .collect(Collectors.toList());
// Copy uses standard Java Toolkit:
// Toolkit.getDefaultToolkit().getSystemClipboard()
//     .setContents(new StringSelection(task.getName()), null);
 فارسی