جستجوی داده ها در اکسل با استفاده از جاوا

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

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

Java API برای جستجوی داده‌ها در اکسل

ما از Aspose.Cells for Java API برای انجام عملیات جستجو بر روی فایل XLSX استفاده خواهیم کرد. این API امکانات اتوماسیون اکسل را به‌صورت برنامه‌نویسی بدون نیاز به نرم‌افزار Microsoft Excel فراهم می‌کند. لطفاً download 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>22.1</version>
</dependency>

متن مشخصی را در اکسل با استفاده از Java پیدا کنید

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

  • اولا، یک فایل اکسل را با استفاده از کلاس Workbook بارگذاری کنید.
  • سپس، دسترسی به worksheet اول در فایل اکسل.
  • سپس، cells شیت دسترسی یافته را بگیرید.
  • به‌علاوه، یک نمونه از کلاس FindOptions ایجاد کنید.
  • پس از آن، LookAtType را به `ENTIRECONTENT” تنظیم کنید.
  • در نهایت، متن را با استفاده از Cells.find() متد پیدا کنید. این متد، رشته جستجو و FindOptions را به عنوان آرگومان‌ها می‌گیرد.

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

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

// به ورق اول در فایل اکسل دسترسی پیدا کنید
Worksheet worksheet = workbook.getWorksheets().get(0);

// همه سلول‌ها را در CellCollections بگیرید
Cells cells = worksheet.getCells();

// Initialize FindOptions
FindOptions findOptions = new FindOptions();

// سلولی را که حاوی یک مقدار رشته‌ای است پیدا کنید
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
Cell cell = cells.find("A Company", null, findOptions);

// Show the cell name and its value
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
متن خاص را در اکسل با استفاده از Java پیدا کنید

Find Specific Text in Excel using Java.

متن را که با حروف خاصی شروع می‌شود پیدا کنید

ما می‌توانیم هر مقدار متنی را که با حروف خاصی آغاز می‌شود با دنبال کردن مراحل مذکور جستجو کنیم. با این حال، فقط نیاز داریم که LookAtType را به عنوان “STARTWITH” تنظیم کنیم.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان یک متن خاص که با حرف “H” آغاز می‌شود را در یک فایل اکسل با استفاده از Java پیدا کرد.

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

// به ورق کار اول در فایل اکسل دسترسی پیدا کنید
Worksheet worksheet = workbook.getWorksheets().get(0);

// تمام سلول‌ها را در CellCollections دریافت کنید
Cells cells = worksheet.getCells();

// Initialize FindOptions
FindOptions findOptions = new FindOptions();

// Find the cell containing a string value
findOptions.setLookAtType(LookAtType.START_WITH);
Cell cell = cells.find("H", null, findOptions);

// Show the cell name and its value
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
متن را پیدا کنید که با حروف خاصی شروع می‌شود.

متن را پیدا کنید که با حروف خاصی شروع می‌شود.

جستجوی متنی که با حروف خاص خاتمه می یابد

ما می‌توانیم هر مقدار متنی که با حروف خاصی پایان می‌یابد را با دنبال کردن مراحل ذکر شده در بالا جستجو کنیم. با این حال، فقط نیاز داریم که LookAtType را به عنوان `ENDWITH” تنظیم کنیم.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان یک متن خاص که با حروف “any” پایان می‌یابد را در یک فایل Excel با استفاده از Java پیدا کرد.

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

// به اولین برگه در فایل اکسل دسترسی پیدا کنید
Worksheet worksheet = workbook.getWorksheets().get(0);

// همه‌ی سلول‌ها را در CellCollections بگیرید
Cells cells = worksheet.getCells();

// Initialize FindOptions
FindOptions findOptions = new FindOptions();

// Find the cell containing a string value
findOptions.setLookAtType(LookAtType.ENDS_WITH);
Cell cell = cells.find("any", null, findOptions);

// نام سلول و مقدار آن را نشان دهید
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

متن پیدا کنید که شامل حروف خاص باشد

ما می‌توانیم هر مقدار متنی که شامل یک زیررشته خاص است را با دنبال کردن مراحل ذکر شده در بالا جستجو کنیم. با این حال، ما فقط نیاز داریم که LookAtType را به عنوان `CONTAINS” تنظیم کنیم.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان متنی که شامل `comp” است را در یک فایل اکسل با استفاده از Java پیدا کرد.

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

// به ورق اول در فایل اکسل دسترسی پیدا کنید
Worksheet worksheet = workbook.getWorksheets().get(0);

// تمام سلول‌ها را در CellCollections بگیرید
Cells cells = worksheet.getCells();

// Initialize FindOptions
FindOptions findOptions = new FindOptions();

// Find the cell containing a string value
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("comp", null, findOptions);

// Show the cell name and its value
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

جستجو با عبارات منظم در اکسل با استفاده از Java

ما همچنین می‌توانیم با استفاده از عبارات منظم یک مقدار سلول را با دنبال کردن مراحل ذکر شده جستجو کنیم. با این حال، ما فقط نیاز داریم که کلید Regex را بر روی true تنظیم کرده و LookAtType را به `CONTAINS” قرار دهیم.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان با استفاده از یک عبارت منظم در یک فایل اکسل، متن را با استفاده از Java پیدا کرد.

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

// به Worksheet اول در فایل Excel دسترسی پیدا کنید
Worksheet worksheet = workbook.getWorksheets().get(0);

// همه سلول‌ها را در CellCollections دریافت کنید
Cells cells = worksheet.getCells();

// Initialize FindOptions
FindOptions findOptions = new FindOptions();

// آن را به عنوان Regex تعریف کنید
findOptions.setRegexKey(true);
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
findOptions.setLookInType(LookInType.VALUES);
Cell cell = cells.find("[a-z]{1}[\\s]&[\\s][a-z]{1}", null, opt);

// Show the cell name and its value
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
جستجوی با عبارت منظم در اکسل با استفاده از جاوا

جستجو با استفاده از عبارات منظم در اکسل با استفاده از جاوا.

جستجوی حساس به حروف بزرگ و کوچک در اکسل با استفاده از Java

ما می‌توانیم یک عملیات جستجو انجام دهیم و هر رشته متنی حساس به حروف بزرگ و کوچک را با دنبال کردن مراحل ذکر شده در بالا پیدا کنیم. با این حال، فقط نیاز است که خاصیت CaseSensitive را به true تنظیم کنیم.

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

// یک فایل Excel بارگذاری کنید
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// به شیت اول در فایل اکسل دسترسی پیدا کنید
Worksheet worksheet = workbook.getWorksheets().get(0);

// تمام سلول‌ها را در CellCollections بگیرید.
Cells cells = worksheet.getCells();

// Initialize FindOptions
FindOptions findOptions = new FindOptions();

// Find the cell containing a formula
findOptions.setCaseSensitive(true);
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("Ltd", null, findOptions);

// نام سلول و مقدار آن را نمایش دهید
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

جستجوی فرمول در اکسل با استفاده از Java

ما می‌توانیم با دنبال کردن مراحل زیر، یک سلول حاوی فرمول را در یک فایل اکسل جستجو کنیم:

  • اولا، یک فایل اکسل را با استفاده از کلاس Workbook بارگذاری کنید.
  • بعدی، دسترسی به اولین ورق کاری در فایل اکسل.
  • سپس، سلول‌های شیت دسترسی یافته را بگیرید.
  • در مرحله بعد، یک نمونه از کلاس FindOptions را ایجاد کنید.
  • بعد از آن، LookInType را به `FORMULAS” تنظیم کنید.
  • در نهایت، متن را با استفاده از متد Cells.find() پیدا کنید. این متد، رشته جستجو و گزینه‌های جستجو را به عنوان آرگومان دریافت می‌کند.

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

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

// دسترسی به اولین ورقه در فایل اکسل
Worksheet worksheet = workbook.getWorksheets().get(0);

// تمام سلول‌ها را در CellCollections دریافت کنید
Cells cells = worksheet.getCells();

// Initialize FindOptions
FindOptions findOptions = new FindOptions();

// Find the cell containing a formula
findOptions.setLookInType(LookInType.FORMULAS);
Cell cell = cells.find("=SUM(C2:C10)", null, findOptions);

// Show the cell name and its value
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
جستجوی فرمول در Excel با استفاده از Java.

جستجوی فرمول در اکسل با استفاده از جاوا.

مجوز رایگان بگیرید

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

نتیجه گیری

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

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