حذف ردیف‌ها و ستون‌های خالی در اکسل با استفاده از جاوا

ما می‌توانیم به‌راحتی ردیف‌ها و ستون‌های خالی را به‌صورت برنامه‌نویسی از صفحه‌کارهای اکسل حذف کنیم. در این مقاله، یاد خواهیم گرفت که چگونه ردیف‌ها و ستون‌های خالی را در اکسل با استفاده از Java حذف کنیم.

موضوعات زیر در این مقاله بررسی خواهند شد:

Java API برای حذف ردیف‌ها و ستون‌های خالی در اکسل

برای حذف ردیف‌ها و ستون‌های خالی از XLSX فایل‌ها، ما از Aspose.Cells for Java API استفاده خواهیم کرد. لطفاً یا دانلود JAR API را انجام دهید یا فقط تنظیمات زیر را به فایل pom.xml در یک برنامه Java مبتنی بر Maven اضافه کنید.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.11</version>
</dependency>

حذف ردیف‌های خالی در اکسل با استفاده از Java

ما می‌توانیم سطرهای خالی را به صورت برنامه‌نویسی از ورق‌های اکسل حذف کنیم با دنبال کردن مراحل زیر:

  • در ابتدا، یک فایل اکسل را با استفاده از کلاس Workbook بارگذاری کنید.
  • سپس، متد Workbook.getWorksheets() را فراخوانی کرده و برگه‌های کار را در شیء WorksheetCollection دریافت کنید.
  • سپس، به برگه کاری که دارای ردیف‌های خالی است، یا با استفاده از اندیس آن (بر اساس صفر) یا با نام آن دسترسی پیدا کنید.
  • پس از آن، متد Cells.deleteBlankRows() را برای حذف سطرهای خالی از برگه کار دسترسی‌شده فراخوانی کنید.
  • در نهایت، متد save() را با مسیر فایل خروجی فراخوانی کنید تا فایل خروجی ذخیره شود.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان ردیف‌های خالی را از اکسل با استفاده از Java حذف کرد.

// یک فایل اکسل موجود را بارگذاری کنید.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// مجموعه کاربرگ‌ها را در صفحه‌گسترده دریافت کنید.
WorksheetCollection sheets = workbook.getWorksheets();

// WorksheetCollection را با اندیس از Worksheet اول بگیرید.
Worksheet sheet = sheets.get(0);
// یا به نام.
// Worksheet sheet = sheets.get("Sheet1");

// حذف ردیف‌های خالی از صفحه گسترده.
sheet.getCells().deleteBlankRows();

// فایل اکسل به‌روزرسانی‌شده را ذخیره کنید.
workbook.save("C:\\Files\\Cells\\output.xlsx");
حذف ردیف‌های خالی در اکسل با استفاده از جاوا.

ردیف‌های خالی را در اکسل با استفاده از Java حذف کنید.

به همین ترتیب، می‌توانیم ردیف‌های خالی را از تمام شیت‌های یک سند اکسل حذف کنیم. ما به سادگی بر روی WorksheetCollection تکرار خواهیم کرد و متد deleteBlankRows() را بر روی هر شیت فراخوانی خواهیم کرد، همانطور که در مثال کد زیر نشان داده شده است:

// یک فایل اکسل موجود را باز کنید.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Get worksheets collection
WorksheetCollection worksheets = workbook.getWorksheets();

// بر روی ورق های کاری تکرار کنید.
for (int i=0; i<worksheets.getCount(); i++)
{
    // ورق‌ها را یکی یکی دسترسی پیدا کنید
    Worksheet sheet = worksheets.get(i);
  
    // سطرهای خالی را از صفحه‌کار حذف کنید.
    sheet.getCells().deleteBlankRows();
}

// فایل اکسل به‌روز شده را ذخیره کنید.
workbook.save("C:\\Files\\Cells\\output.xlsx");

حذف ستون های خالی در اکسل با استفاده از Java

ما می‌توانیم ستون‌های خالی را از ورق‌های اکسل به صورت برنامه‌نویسی حذف کنیم با دنبال کردن مراحل زیر:

  • در ابتدا، یک فایل اکسل را با استفاده از کلاس Workbook بارگذاری کنید.
  • سپس، متد Workbook.getWorksheets() را فراخوانی کرده و برگه‌های کار را در شیء WorksheetCollection دریافت کنید.
  • سپس، به شیت کاری که دارای ستون‌های خالی است، با استفاده از ایندکس آن (بر اساس صفر) یا با نام آن دسترسی پیدا کنید.
  • پس از آن، متد Cells.deleteBlankColumns() را برای حذف ستون‌های خالی از برگه کاری دسترسی یافته فراخوانی کنید.
  • در نهایت، متد save() را با مسیر فایل خروجی فراخوانی کنید تا فایل خروجی ذخیره شود.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان ستون‌های خالی را از اکسل با استفاده از Java حذف کرد.

// یک فایل اکسل موجود را باز کنید.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// مجموعه برگه‌های کاری را در صفحه‌گسترده دریافت کنید.
WorksheetCollection sheets = workbook.getWorksheets();

// از مجموعه کاربرگ‌ها، اولین کاربرگ را با استفاده از اندیس دریافت کنید.
Worksheet sheet = sheets.get(2);

// ستون‌های خالی را حذف کنید.
sheet.getCells().deleteBlankColumns(options);

// فایل اکسل بروزرسانی شده را ذخیره کنید.
workbook.save("C:\\Files\\Cells\\output_DeleteBlankColumns.xlsx");	
حذف ستون‌های خالی در اکسل با استفاده از جاوا.

حذف ستون‌های خالی در اکسل با استفاده از جاوا.

به‌روزرسانی مراجع به‌طور خودکار در حین حذف سطرها و ستون‌های خالی

حذف ردیف‌ها یا ستون‌های خالی می‌تواند ارجاعات در فرمول‌ها، نمودارها و جداول را خراب کند. به عنوان مثال، سلول A1 در Sheet2 دارای یک فرمول =Sheet1!C7 است که به سلول C7 از کاربرگ اول اشاره دارد، همانطور که در شکل زیر نشان داده شده است.

یک سلول A1 در Sheet2 به یک مقدار در سلول C7 در Sheet1 اشاره می‌کند.

A cell A1 in Sheet2 is referring to a value of cell C7 in Sheet1.

اگر ردیف‌های خالی را در Sheet1 حذف کنیم، مقدار C7 (650000) به سلول C6 منتقل خواهد شد. اما فرمول (=Sheet1!C7) به‌روزرسانی نخواهد شد و سلول A1 مقدار C7 را نشان خواهد داد که در این حالت 550000 خواهد بود. ما می‌توانیم با تنظیم DeleteOptions.setUpdateReference به true، از این مشکل جلوگیری کنیم. این کار اطمینان حاصل خواهد کرد که مراجع هنگام حذف ردیف‌های خالی به‌روزرسانی می‌شوند.

ما می‌توانیم به‌طور خودکار ارجاعات را به‌روزرسانی کنیم در حالی‌که سطرهای خالی را از شیت‌های اکسل به‌صورت برنامه‌نویسی حذف می‌کنیم با دنبال کردن مراحل زیر:

  • در ابتدا، یک فایل اکسل را با استفاده از کلاس Workbook بارگذاری کنید.
  • سپس، متد Workbook.getWorksheets() را فراخوانی کرده و برگه‌های کار را در شیء WorksheetCollection دریافت کنید.
  • سپس، به worksheet دسترسی پیدا کنید یا از طریق ایندکس (صفر پایه) یا بر اساس نام که شامل ردیف‌های خالی است.
  • بعدا، یک نمونه از کلاس DeleteOptions ایجاد کنید.
  • سپس، setUpdateReferences() را به true فراخوانی کنید. این کار مراجع را در سایر برگه‌ها به‌روزرسانی کرده و در حین حذف ردیف‌های خالی، آن‌ها را به‌روزرسانی خواهد کرد.
  • پس از آن، با استفاده از شیء DeleteOptions به عنوان آرگومان، متد Cells.deleteBlankRows() را برای حذف ردیف‌های خالی از ورق کاری که دسترسی پیدا کرده‌اید، فراخوانی کنید.
  • در نهایت، متد save() را با مسیر فایل خروجی فراخوانی کنید تا فایل خروجی ذخیره شود.

کد نمونه زیر نشان می‌دهد که چگونه ارجاعات را در حین حذف ردیف‌های خالی در اکسل به روز کنیم.

// یک فایل اکسل موجود را باز کنید.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// مجموعه برگه‌ها را در صفحه‌گسترده دریافت کنید.
WorksheetCollection sheets = workbook.getWorksheets();

// از WorksheetCollection بر اساس ایندکس، اولین Worksheet را دریافت کنید.
Worksheet sheet = sheets.get(0);

// این گزینه اطمینان خواهد داد که مراجع (در فرمول‌ها، نمودارها)
// are updated while deleting blank rows.
DeleteOptions options = new DeleteOptions();
options.setUpdateReference(true);

// سطرهای خالی را از ورک‌برگ حذف کنید.
sheet.getCells().deleteBlankRows(options);

// فایل اکسل به‌روز شده را ذخیره کنید.
workbook.save("C:\\Files\\Cells\\output_UpdateReferencesAutomatically.xlsx");

به طور مشابه، می‌توانیم ارجاعات را در حالی که ستون‌های خالی را در اکسل حذف می‌کنیم، به‌روزرسانی کنیم. با این حال، فقط نیاز داریم که متد deleteBlankColumns() را با DeleteOptions به عنوان آرگومان فراخوانی کنیم.

دریافت مجوز رایگان

لطفاً بدون محدودیت ارزیابی از API استفاده کنید و درخواست یک لیسانس موقت رایگان دهید.

نتیجه گیری

در این مقاله، ما یاد گرفتیم که چگونه می‌توان ردیف‌ها و ستون‌ها را در اکسل با استفاده از Java حذف کرد. ما همچنین مشاهده کردیم که چگونه می‌توان در حین حذف ردیف‌ها و ستون‌ها به‌روز‌رسانی‌ها را برنامه‌نویسی کرد. علاوه بر این، می‌توانید اطلاعات بیشتری در مورد API Aspose.Cells for Java با استفاده از documentation یاد بگیرید. در صورت هر گونه ابهام، لطفاً با ما از طریق forum تماس بگیرید.

همچنین ببینید