اگر شما یک توسعه دهنده برنامه جاوا هستید که از طریق برنامه های جاوا خود با اکسل کار می کنید ، علاقه مند به ارائه قابلیت دستکاری داده های اکسل در برنامه خود هستید. اکسل به شما امکان می دهد یک ظاهر طراحی شده سلولی را قالب بندی کنید ، نوع یک سلول را روی انواع مختلف داده ها تنظیم کنید ، یک سلول را با رنگ های مختلف و غیره پر کنید. Apache Poi به عنوان پل شما بین جاوا و اکسل خدمت می کند و ابزارهایی را برای دستکاری اکسل XLSX Files به صورت برنامه ای ارائه می دهد. در این مجموعه وبلاگ ، ما از Art of Excel Cell دستکاری با استفاده از Apache POI در جاوا رونمایی خواهیم کرد. بیایید شیرجه بزنیم و هم افزایی کد و صفحات گسترده را کشف کنیم!

فهرست مطالب

در طول وبلاگ ، ما نمونه های کد و توضیحات مربوط به موارد زیر را طی خواهیم کرد:

  1. ایجاد سلول در پرونده اکسل
  2. سلولهای خرما را در اکسل ایجاد کنید
  3. کار با انواع مختلف سلول
  4. تنظیم ظاهر سلول

کار با سلولها در پرونده اکسل در جاوا

ایجاد سلول در پرونده اکسل

//Create Cells
XSSFWorkbook wb = new XSSFWorkbook();
XSSFCreationHelper createHelper = wb.getCreationHelper();
XSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
Row row = sheet.createRow(0);
// Create a cell and put a value in it.
Cell cell = row.createCell(0);
cell.setCellValue(1);
row.createCell(1).setCellValue(1.2);
row.createCell(2).setCellValue(createHelper.createRichTextString("This is a string"));
row.createCell(3).setCellValue(true);
// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
    wb.write(fileOut);
}

قطعه کد جاوا فوق نشان دهنده استفاده از APACH POI API برای کار با سلول ها در یک کتاب کار اکسل است. این کد یک کتاب کار جدید اکسل (\ **xssfworkbook** \) ایجاد می کند ، یک برگه را در کتاب کار آغاز می کند ، و سپس سلول ها را با انواع مختلف داده جمع می کند. ابتدا ، کد یک برگه جدید به نام " برگه جدید " ایجاد می کند. سپس یک ردیف در شاخص 0 روی ورق ایجاد می کند و برای پر کردن سلول ها در آن ردیف ادامه می یابد. اولین سلول (شاخص 0) با استفاده از روش \ **setCellValue** \ مقدار عدد صحیح 1 را اختصاص می دهد. در مقابل ، سلول دوم (شاخص 1) به مقدار اعشاری 1.2 به طور مستقیم در روش \ **createcell** \ تنظیم می شود. سلول سوم (فهرست 2) حاوی یک مقدار رشته “این یک رشته است” با استفاده از روش \ **createrichtextString** \ از \ **xssfcreationhelper** \ \. سرانجام ، سلول چهارم (شاخص 3) با مقدار بولی “True” جمع می شود. پس از تنظیم مقادیر سلولی ، کد کتاب کار حاصل را به یک پرونده اکسل به نام “workbook.xlsx” با استفاده از \ **fileoutputstream** \ می نویسد.

ایجاد نوع تاریخ سلول

XSSFWorkbook wb = new XSSFWorkbook();
//Workbook wb = new XSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
org.apache.poi.ss.usermodel.Sheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
Row row = sheet.createRow(0);
// Create a cell and put a date value in it.  The first cell is not styled
// as a date.
Cell cell = row.createCell(0);
cell.setCellValue(new Date());
// we style the second cell as a date (and time).  It is important to
// create a new cell style from the workbook otherwise you can end up
// modifying the built in style and effecting not only this cell but other cells.
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(
    createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
cell = row.createCell(1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
//you can also set date as java.util.Calendar
cell = row.createCell(2);
cell.setCellValue(Calendar.getInstance());
cell.setCellStyle(cellStyle);
// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
    wb.write(fileOut);
}

این قطعه کد جاوا ، استفاده از APACH POI API را برای کار با سلولهای نوع تاریخ در یک کتاب کار اکسل به نمایش می گذارد. کد با ایجاد یک کتاب کار جدید اکسل (\ **xssfworkbook** \) آغاز می شود. اولین سلول (شاخص 0) برای نگه داشتن مقدار تاریخ در نظر گرفته شده است. یک شیء \ **تاریخ** \ نمایانگر تاریخ و زمان فعلی به عنوان مقدار سلول با استفاده از روش \ **setCellValue** \ تنظیم شده است. این سلول به صراحت به عنوان یک تاریخ طراحی نشده است. برای سلول دوم (شاخص 1) ، یک سبک سلول جدید (\ CellStyle \) با استفاده از روش \ CreatEcellStyle \ کتاب کار ایجاد می شود. سپس این سبک پیکربندی شده است تا با استفاده از روش \ setDataFormat \ یک تاریخ و زمان خاص داشته باشد. فرآیند \ ایجاد شده (). به سلول دوم مقدار تاریخ و زمان فعلی اختصاص داده می شود و سبک سلولی تازه ایجاد شده با استفاده از روش \ setCellStyle ` اعمال می شود. سلول سوم (شاخص 2) یک روش جایگزین برای جمع آوری سلولهای نوع تاریخ با استفاده از \ java.util.calendar \ نشان می دهد. مشابه سلول دوم ، سبک سلول سفارشی نیز در این سلول اعمال می شود.

کار با انواع مختلف سلول

XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("new sheet");
Row row = sheet.createRow(2);
row.createCell(0).setCellValue(1.1);
row.createCell(1).setCellValue(new Date());
row.createCell(2).setCellValue(Calendar.getInstance());
row.createCell(3).setCellValue("a string");
row.createCell(4).setCellValue(true);
row.createCell(5).setCellType(CellType.ERROR);		// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
    wb.write(fileOut);
}

در این نمونه کد ، سبک های مختلف سلول در یک پرونده اکسل با استفاده از APACH POI API همانطور که در مراحل زیر توضیح داده شده است ، روی سلول ها اعمال می شود.

  1. یک ردیف در فهرست 2 روی برگه با استفاده از \ **ceaterrow** (2) \ ایجاد می شود. سلولها سپس با داده های زیر در این ردیف جمع می شوند.
  2. اولین سلول (شاخص 0) با استفاده از روش \ **setCellValue** \ مقدار اعشاری 1.1 اختصاص داده می شود.
  3. در سلول دوم (فهرست 1) ، تاریخ و زمان فعلی با استفاده از یک شیء تاریخ \ \ از طریق روش \ setCellValue \ وارد می شود. 4- سلول سوم (شاخص 2) شامل تاریخ و زمان از یک تقویم \ \ نمونه ، با استفاده از روش ` setCellValue \ `تنظیم می شود.
  4. سلول چهارم (فهرست 3) متن “یک رشته” را در خود جای داده است.
  5. سلول پنجم (شاخص 4) برای یک مقدار بولی “درست” تعیین شده است.
  6. با حرکت به جلو ، یک نوع سلول خاص با استفاده از روش \ **setCellType** \ به سلول ششم (فهرست 5) اختصاص می یابد. این سلول به عنوان یک سلول خطا با استفاده از \ **cellType.Error** \ تنظیم می شود ، که نشان می دهد مقدار خطا را نشان می دهد. سرانجام ، کتاب کار اصلاح شده با استفاده از \ FileOutputStream ` به پرونده ای به نام “workbook.xlsx” نوشته شده است. به طور خلاصه ، این مثال کد نشان می دهد که چگونه می توان یک کتاب کار اکسل را ایجاد کرد ، از سبک های مختلف سلول برای قرار دادن انواع مختلف داده استفاده کرد و در نهایت کتاب کار اصلاح شده را در یک پرونده ذخیره کرد. این تصویر عملی قابلیت های کتابخانه Apache POI را برای کار با پرونده های اکسل در جاوا نشان می دهد.

تنظیم ظاهر سلول

XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
Row row = sheet.createRow(1);
// Aqua background
CellStyle style = wb.createCellStyle();
style.setFillBackgroundColor(IndexedColors.AQUA.getIndex());
style.setFillPattern(FillPatternType.BIG_SPOTS);
Cell cell = row.createCell(1);
cell.setCellValue("X");
cell.setCellStyle(style);
// Orange "foreground", foreground being the fill foreground not the font color.
style = wb.createCellStyle();
style.setFillForegroundColor(IndexedColors.ORANGE.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cell = row.createCell(2);
cell.setCellValue("X");
cell.setCellStyle(style);
// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
    wb.write(fileOut);
}
wb.close();

این قطعه کد نشان می دهد که چگونه می توان ظاهر سلول ها را در یک فایل اکسل با استفاده از کتابخانه Apache Poi در جاوا دستکاری کرد. این با استفاده از مراحل زیر حاصل می شود.

  1. یک ردیف در فهرست 1 روی برگه با استفاده از \ ceaterow (1) \ ایجاد می شود. تغییرات زیر به سلولهای موجود در این ردیف انجام می شود.
  2. برای سلول اول (شاخص 1) ، یک سبک سلول سفارشی با استفاده از \ wb.createcellstyle () \ ایجاد می شود. این سبک با یک رنگ پس زمینه Aqua با استفاده از \ setFillbackgroundColor \ و \ ‘indexedColors.Aqua.GetIndex () \ تنظیم شده است. الگوی پس زمینه با استفاده از \ setFillPattern (fillpatterntype.big_pots) روی" نقاط بزرگ “تنظیم شده است. یک سلول در این ردیف در شاخص 1 ایجاد می شود و با مقدار “x” پر می شود. سبک قبلاً ایجاد شده با استفاده از \ setCellStyle \ روی این سلول اعمال می شود.
  3. برای سلول دوم (شاخص 2) ، یک سبک سلول جدید ایجاد می شود. این سبک با یک رنگ پیش زمینه نارنجی با استفاده از \ setFillforegroundColor \ و \ indexedColors.orange.getIndex () \ طراحی شده است. الگوی پر کردن با استفاده از \ setFillPattern (fillpatterntype.solid_foreground) روی" پیش زمینه جامد "تنظیم شده است. سلول دیگری در شاخص 2 در همان ردیف ایجاد می شود و با مقدار "x" جمع می شود. سبک تازه تولید شده سپس با استفاده از \ setCellStyle ` به این سلول اختصاص می یابد. پس از پیکربندی ظاهر سلول ، کتاب کار اصلاح شده به پرونده ای به نام “workbook.xlsx” با استفاده از \ FileOutputStream \ نوشته شده است. به طور خلاصه ، این مثال کد نحوه استفاده از کتابخانه Apache POI را برای دستکاری در ظاهر سلولی در یک پرونده اکسل نشان می دهد. تکنیک های نشان داده شده شامل ایجاد سبک های سلولهای سفارشی برای کنترل پس زمینه و رنگ های پیش زمینه و همچنین الگوهای پر کردن ، فراهم کردن انعطاف پذیری در سفارشی کردن صفحات گسترده اکسل با استفاده از جاوا است.

نتیجه گیری

در تمام نمونه های جاوا فوق برای کتابخانه Apache POI ، ما نحوه کار با محتوای پرونده اکسل را از طریق برنامه جاوا خود نشان داده ایم. نمونه های کد نشان می دهد که چگونه می توان سلول ها را در یک فایل اکسل ایجاد کرد ، ظاهر اینها را تنظیم کرد ، سبک سلول را روی انواع مختلف داده مانند رشته ، عددی ، اعشاری و غیره تنظیم کرد و نحوه تنظیم نوع سلول به نوع تاریخ. ما برای کار با پرونده های اکسل با استفاده از Apache POI برای جاوا نمونه های بیشتری اضافه خواهیم کرد ، بنابراین با ما همراه باشید.

همچنین {.wp-block-heading} را ببینید