فایل های MS Excel عمدتا برای نگهداری داده های جدولی در قالب کاربرگ استفاده می شوند. اغلب، مجموعه داده های عظیم در فایل های اکسل نیز نگهداری می شوند. بنابراین، ممکن است با سناریویی روبرو شوید که باید دادهها را از کاربرگها در یک فایل اکسل بخوانید و واکشی کنید. برای دستیابی به آن، این مقاله نحوه خواندن یک فایل اکسل در جاوا را نشان می دهد. ما نحوه خواندن کل فایل اکسل یا فقط یک کاربرگ را به صورت برنامهنویسی نشان خواهیم داد.
- کتابخانه جاوا برای خواندن فایل های اکسل
- خواندن داده ها از یک فایل اکسل
- یک کاربرگ را در کتاب کار اکسل بخوانید
کتابخانه جاوا برای خواندن فایل های اکسل
برای خواندن دادهها از کاربرگها، از Aspose.Cells برای جاوا استفاده میکنیم. این یک API دستکاری صفحه گسترده برای ایجاد فایل های اکسل از ابتدا است. علاوه بر این، به شما این امکان را می دهد که فایل های اکسل موجود را به راحتی بخوانید و دستکاری کنید. API را می توان از بخش دانلودها دانلود کرد یا با افزودن تنظیمات Maven زیر در pom.xml نصب کرد.
<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>
یک فایل اکسل را در جاوا بخوانید
در فایلهای اکسل، دادهها در سلولهایی ذخیره میشوند که هر سلول با نام خود (A1، B3 و غیره) یا فهرست سطر و ستون مشخص میشود. این سلول ها در مجموع یک کاربرگ را تشکیل می دهند و یک فایل اکسل از یک یا چند کاربرگ تشکیل شده است. همه کاربرگ ها در یک کتاب کار موجود است. بنابراین این یک مرور مختصر از ساختار یک فایل اکسل بود. اکنون به خواندن داده ها از یک فایل اکسل می پردازیم.
مراحل زیر برای خواندن یک فایل اکسل و چاپ داده های آن با استفاده از جاوا است.
- فایل اکسل را با استفاده از کلاس Workbook بارگیری کنید.
- یک شی از کلاس WorksheetCollection ایجاد کنید و با استفاده از روش Workbook.getWorksheets() مرجع کاربرگ ها را دریافت کنید.
- یک حلقه را شروع کنید تا همه کاربرگهای مجموعه را مرور کنید و در هر تکرار، مراحل زیر را انجام دهید:
- مرجع کاربرگ را در یک شیء Worksheet دریافت کنید.
- تعداد ردیف ها و ستون های داده در کاربرگ را دریافت کنید.
- یک حلقه برای ردیف ها شروع کنید.
- یک حلقه تودرتو برای ستون ها شروع کنید.
- دادههای هر سلول را با استفاده از روش Worksheet.getCells().get(rowIndex, columnIndex).getValue() بخوانید.
نمونه کد زیر نحوه خواندن یک فایل اکسل در جاوا را نشان می دهد.
// فایل اکسل را بارگیری کنید
Workbook wb = new Workbook("workbook.xlsx");
// همه کاربرگ ها را دریافت کنید
WorksheetCollection collection = wb.getWorksheets();
// تمام کاربرگ ها را حلقه بزنید
for (int worksheetIndex = 0; worksheetIndex < collection.getCount(); worksheetIndex++) {
// کاربرگ را با استفاده از نمایه آن دریافت کنید
Worksheet worksheet = collection.get(worksheetIndex);
// چاپ نام کاربرگ
System.out.print("Worksheet: " + worksheet.getName());
// تعداد سطرها و ستون ها را دریافت کنید
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();
// از میان ردیف ها حلقه بزنید
for (int i = 0; i < rows; i++) {
// از طریق هر ستون در ردیف انتخاب شده حلقه بزنید
for (int j = 0; j < cols; j++) {
// مقدار سلول پرینگ
System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
}
// چاپ خط شکست
System.out.println(" ");
}
}
خروجی زیر پس از اجرای نمونه کد بالا در کنسول بدست می آید.
یک کاربرگ خاص را در اکسل در جاوا بخوانید
همچنین می توانید با انجام مراحل زیر فقط یک کاربرگ خاص را در فایل اکسل بخوانید.
- فایل اکسل را با استفاده از کلاس Workbook بارگیری کنید.
- با استفاده از روش Workbook.getWorksheets().get(index) مرجع کاربرگ مورد نظر را در یک شی Worksheet دریافت کنید.
- تعداد ردیف ها و ستون های داده در کاربرگ را دریافت کنید.
- یک حلقه برای ردیف ها شروع کنید.
- یک حلقه تودرتو برای ستون ها شروع کنید.
- دادههای هر سلول را با استفاده از روش Worksheet.getCells().get(rowIndex, columnIndex).getValue() بخوانید.
نمونه کد زیر نحوه خواندن داده ها از یک کاربرگ خاص در جاوا را نشان می دهد.
// فایل اکسل را بارگیری کنید
Workbook wb = new Workbook("workbook.xlsx");
// دریافت مرجع کاربرگ
Worksheet worksheet = wb.getWorksheets().get(0);
// تعداد سطر و ستون را دریافت کنید
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();
// از میان ردیف ها حلقه بزنید
for (int i = 0; i < rows; i++) {
// از طریق هر ستون در ردیف انتخاب شده حلقه بزنید
for (int j = 0; j < cols; j++) {
// چاپ مقدار سلول
System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
}
// چاپ خط شکست
System.out.println(" ");
}
یک مجوز API رایگان دریافت کنید
با دریافت [مجوز موقت رایگان] میتوانید از Aspose.Cells برای جاوا بدون محدودیت ارزیابی استفاده کنید.
نتیجه
در این مقاله نحوه خواندن فایل های اکسل به صورت پویا در جاوا را یاد گرفتید. با کمک نمونه کد، نحوه خواندن داده ها از یک کاربرگ خاص یا همه کاربرگ های یک کتاب کار اکسل را مشاهده کرده اید. علاوه بر این، می توانید سایر ویژگی های Aspose.Cells برای جاوا را با استفاده از مستندات کاوش کنید. اگر سؤالی دارید، از طریق [فروم 14 ما به ما اطلاع دهید.