POI یک API محبوب است که به برنامه نویسان اجازه میدهد تا با استفاده از برنامه هایی با زبان جاوا ، پروندههای MS Office را ایجاد، اصلاح و نمایش دهند. این ابزار یک کتابخانه منبع باز است که توسط بنیاد نرم افزار Apache برای طراحی یا اصلاح فایلهای Microsoft Office با استفاده از برنامه جاوا تهیه و توزیع شده است.
POI چیست و چه کاربردی دارد؟
بارها و بارها برای تولید گزارش در قالب فایل Microsoft Excel به یک برنامه نرم افزاری نیاز دارید. حتی گاهی اوقات انتظار میرود که یک برنامه، پروندههای اکسل را به عنوان داده ورودی دریافت کند. به عنوان مثال، یک برنامه کاربردی برای بخش مالی یک شرکت ایجاد شده است که باید تمام خروجی های آنها را در Excel تولید کند. هر برنامه نویس جاوا که میخواهد پروندههای MS Office را به عنوان خروجی تولید کند، برای این کار باید از یک API از پیش تعریف شده و فقط خواندنی استفاده کند.
POI یک API محبوب است که به برنامه نویسان اجازه میدهد تا با استفاده از برنامه هایی با زبان جاوا، پروندههای MS Office را ایجاد، اصلاح و نمایش دهند. این ابزار یک کتابخانه منبع باز است که توسط بنیاد نرم افزار Apache برای طراحی یا اصلاح فایلهای Microsoft Office با استفاده از برنامه جاوا تهیه و توزیع شده است. این ابزار شامل کلاس ها و روشهای رمزگشایی دادههای ورودی کاربر یا یک پرونده برای اسناد MS Office است.
اجزای POI چیست؟
POI شامل کلاس ها و روشهای کار بر روی تمام اسناد ترکیبی OLE2 MS Office است. لیست اجزای این API در زیر آورده شده است:
• POIFS (سیستم اجرای فایل نامشخص و نامفهوم ضعیف) - این مؤلفه، عامل اصلی سایر عناصر POI است. برای خواندن پروندههای مختلف استفاده میشود.
• HSSF (فرمت گسترده صفحه گسترده) - برای خواندن و نوشتن فرمت xls و پروندههای MS-Excel استفاده میشود.
• XSSF (فرمت صفحه گسترده XML) – این فرمت برای قالب فایل xlsx از MS-Excel استفاده میشود.
• HPSF (فرمت تنظیمات ویژگی نامطلوب) - برای استخراج مجموعه ویژگیهای پروندههای MS-Office استفاده میشود.
• HWPF (قالب پردازنده کلمات نامناسب) - برای خواندن و نوشتن پروندههای پسوند doc MS-Word استفاده میشود.
• XWPF (فرمت پردازشگر کلمه XML) - برای خواندن و نوشتن پروندههای پسوند docx از MS-Word استفاده میشود.
• HSLF (قالب چیدمان اسلاید نامناسب) - برای خواندن، ایجاد و ویرایش پاورپوینت استفاده میشود.
• HDGF (قالب نامناسب دیاگرام) - شامل کلاس ها و روش ها برای پروندههای باینری MS-Visio است.
• HPBF (قالب نامناسب PuBlisher) - برای خواندن و نوشتن پروندههای MS-Publisher استفاده میشود.
توجه: نسخههای قدیمی POI از فرمتهای فایل باینری مانند doc، xls، ppt و ... پشتیبانی میکنند. نسخه 3.5 به بعد، POI از فرمتهای فایل OOXML MS-Office مانند docx، xlsx، pptx و ... پشتیبانی میکند.
مانند Apache POI، کتابخانههای دیگری نیز وجود دارد که توسط فروشندگان مختلف برای تولید فایل اکسل ارائه میشود. آنها شامل سلولهای Aspose برای جاوا توسط Aspose، JXL توسط Commons Libraries و JExcel توسط Team Dev است.
Aspose Cells برای جاوا یک Java Excel API کاملاً مجاز است که توسط فروشنده Aspose تهیه و توزیع شده است. آخرین نسخه این API 8.1.2 است که در جولای 2014 منتشر شد. این یک API غنی است و ترکیبی از کلاسهای جاوا ساده و کلاسهای AWT برای طراحی فایل اکسل است که میتواند صفحات گسترده را بخواند، بنویسد و ویرایش کند.
POI یک کتابخانه 100٪ منبع باز است که توسط بنیاد نرم افزار Apache ارائه شده است. بیشتر توسعه دهندگان برنامههای کوچک و متوسط به شدت به Apache POI (HSSF + XSSF) وابسته هستند. این ابزار از تمام ویژگیهای اساسی کتابخانههای اکسل پشتیبانی میکند. با این حال، رندر و استخراج متن از ویژگیهای اصلی آن است.
POI و کاربرد آن برای فایلهای اکسل
این رابط کاربری فوق العاده دارای همه کلاس هایی است که فایلهای کاربری اکسل را ایجاد یا نگهداری میکنند. دو کلاس که این رابط را اجرا میکنند به شرح زیر است:
HSSFWorkbook - این کلاس روش هایی برای خواندن و نوشتن فایلهای Microsoft Excel در قالب.xls دارد. با نسخههای MS-Office 97–2003 سازگار است.
XSSFWorkbook - این کلاس روش هایی برای خواندن و نوشتن فایلهای xml مایکروسافت اکسل و OpenOffice در قالب.xls یا.xlsx دارد. با نسخههای MS-Office 2007 یا بالاتر سازگار است.
HSSF work book را پیاده سازی میکند و برای پروندههای اکسل در قالب.xls استفاده میشود. در زیر برخی از روش ها و سازندههای این کلاس ذکر شده است. این کلاس میتواند صفحات گسترده اکسل را ایجاد کند و به شما امکان میدهد سبک ورق و دادههای قالب را قالب بندی کنید.
XSSFCell رابط کاربری Cell را پیاده سازی میکند. این نمایش سطح بالایی از سلول ها در ردیفهای صفحه گسترده است.
در زیر برخی از قسمتهای کلاس XSSFCell به همراه توضیحات آنها ذکر شده است.
• CELL_TYPE_BLANK:
سلول خالی را نشان میدهد
• CELL_TYPE_BOOLEAN:
سلول درست یا غلط را نشان میدهد
• CELL_TYPE_ERROR:
مقدار خطای سلول را نشان میدهد
• CELL_TYPE_FORMULA:
نتیجه فرمول را در سلول نشان میدهد
• CELL_TYPE_NUMERIC:
دادههای عددی سلول را نشان میدهد
• CELL_TYPE_STRING:
رشته (متن) سلول را نشان میدهد
روشهای کلاس XSSFCell عبارتند از:
• setCellStyle:
سبک را برای سلول تنظیم میکند.
• setCellType:
نوع سلول ها (عددی، فرمول یا رشته) را تنظیم میکند.
هر داده ای که به صفحه گسترده وارد کنید همیشه در سلول ذخیره میشود. ما برای شناسایی سلول از برچسب ردیف ها و ستون ها استفاده میکنیم. در این بخش نحوه دست کاری داده ها در سلول ها در صفحه گسترده با استفاده از برنامه نویسی جاوا توضیح داده شده است.
1-یک سلول ایجاد کنید:
2-قبل از ایجاد سلول باید یک سطر ایجاد کنید. ردیف چیزی نیست جز مجموعه ای از سلول ها.
3-قطعه کد زیر برای ایجاد سلول استفاده میشود.
XSSFWorkbook workbook = new XSSFWorkbook(); |
// ایجاد کتاب کار جدید
XSSFSheet spreadsheet = workbook.createSheet ("new sheet")؛ |
// ایجاد صفحه گسترده با نام
XSSFRow row = spreadsheet.createRow (0); |
// ایجاد اولین ردیف در صفحه گسترده ایجاد شده
XSSFCell cell = row.createCell (0); |
// ایجاد اولین سلول در ردیف ایجاد شده
بنابراین setCellType مشخص میکند که آیا یک سلول میتواند شامل رشته ها، مقدار عددی یا فرمول باشد. یک سلول رشته ای نمیتواند مقادیر عددی را نگه دارد و یک سلول عددی نمیتواند رشته ها را نگه دارد. در زیر انواع سلول ها، مقادیر آنها و نوع نحو آورده شده است.
اگر سیستم شما با کتابخانه POI پیکربندی شده باشد، برای تولید یک فایل اکسل به نام typesofcells.xlsx در فهرست فعلی شما اجرا میشود و خروجی زیر را نمایش میدهد.
مراحل نصب Apache POI در کتابخانه پروژه
مرحله 1. برای بارگیری Apache POI Libraries، به لینک زیر مراجعه کنید:
https://poi.apache.org/download.html، روی فایل zip کلیک کنید.
مرحله 2. در صفحه دوم، روی اولین لینک کلیک کنید و پرونده را ذخیره کنید.
مرحله 3. فایل بارگیری شده را استخراج کنید، یعنی poi-4.1.1 (آخرین نسخه موجود) و فایلهای jar را که برای پروژه شما استفاده میشوند، بررسی کنید.
مرحله 4. به پروژه در Eclipse بروید، روی آن کلیک راست کنید. به مسیر زیر بروید.
build path> configure build path.
مرحله 5. سپس بر روی "add external jars" کلیک کنید و تمام پروندههای موجود در مرحله 3 را انتخاب کنید و بر روی دکمه " apply and close" کلیک کنید.
توجه: نیازی به انتخاب پروندههای junit & log4j jar موجود در پوشه lib نیست.
مرحله 6. پروندههای jar اضافه شده را میتوانید در پروژه در زیر پوشه "references references" پیدا کنید.
همچنین میتوانید با ساختن نام پوشه jarfiles در پروژه، مسیر ساخت را پیکربندی کنید و همه jar ها را در این پوشه کپی-پیست کنید. سپس، روی پوشه کلیک راست کنید و مسیر build path> configure build path > را طی کنید و همه پروندههای jar را انتخاب کنید و روی دکمه " apply and close" کلیک کنید. به این ترتیب، تمام پروندههای jar در پوشه Referenced Libraries پیکربندی میشوند.
چگونه کتابخانههای POI را نصب کنیم؟
همان طور که در بخشهای فوق فهمیدیم که همه کتابخانههای Apache POI به عنوان JAR در دسترس هستند. اکنون برای دسترسی به قابلیتهای POI، این JAR ها باید در مسیر ساخت برنامه / چارچوب شما موجود باشند. در ادامه میتوانید یاد بگیرید چگونه میتوان POI JAR ها را در مسیر ساخت یک پروژه در Eclipse نصب کرد:
برای افزودن POI JAR ها در یک پروژه Eclipse، مراحل زیر را انجام دهید:
1. ابتدا فرض کنید که یک یک پروژه جاوا را در Eclipse ایجاد کرده اید.
2. پس از آن، روی پروژه در Eclipse راست کلیک کنید. بعداً، ساخت مسیر را انتخاب کنید.
3. سپس، "properties" پروژه را باز کنید. پس از آن، برگه libraries را انتخاب کنید. در آخر، بر روی Add External JARs کلیک کنید.
توجه: هنگام افزودن JARهای خارجی باید Classpath انتخاب شود.
4. چهارم، JARs موجود در پوشه اصلی پروندههای POI باز نشده را انتخاب کنید. پس از آن، روی دکمه Open کلیک کنید تا آنها در پروژه Eclipse قرار گیرند
5- بعد JARs را در زیر پوشه ooxml-lib در پوشه POI باز نشده انتخاب کنید.
6. ششم، JAR ها را در زیر پوشه lib در پوشه POI باز نشده انتخاب کنید.
7. پس از آن، هنگامی که تمام POI JAR ها اضافه شد، بر روی دکمه apply و close کلیک کنید.
8- هنگامی که همه کتابخانههای POI با موفقیت در پروژه Eclipse نصب شدند، کتابخانه ها در پوشه Referenced Libraries در سمت چپ ساختار پروژه Eclipse مشخص هستند.
بنابراین، این کار نصب POI را در یک پروژه Eclipse کامل میکند. بنابراین، اکنون میتوانیم از توانایی این کتابخانه ها در پروژه JAVA خود استفاده کنیم.
در پایان لازم است که یادآوری شود با استفاده از POI میتوانید تمام فایلهای مایکروسافت آفیس را در هر حجمی بخوانید و بنویسید و اصلاح کنید. قابلیت گسترده این ابزار آنقدر زیاد است که در بسیاری از سازمانهای بزرگ با حجم زیاد فایلهای آفیس مورد استفاده قرار میگیرد. بنابراین با آشنایی از نحوه نصب، اجرا و کاربردهای مختلف این ابزار قدرتمند به زبان جاوا از قابلیتها و کاربردهای متنوع آن بهره مند شوید.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
سایت جاواپرو با هدف تولید محتوای آموزشی با کیفیت رایگان در زمینه برنامه نویسی جاوا و اندروید فعالیت خود را در سال 1395 شروع کرد.امیدواریم بتوانیم دامنه گسترده تری از موضوعات پر نیاز در زمینه برنامه نویسی جاوا و اندروید را البته با حمایت شما پوشش دهیم.
تلفن تماس: 09301904690