درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
دوره های مرتبط
دوره تخصصی آموزش متن کاوی با ابزار NLTK
مدرس: taghandiki
این دوره را در 11 قسط خریداری کنید
ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
مدرس: مهدی عادلی
این دوره را در 2 قسط خریداری کنید
دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
مدرس: dr-iman
این دوره را در 13 قسط خریداری کنید
دوره آموزشی ساخت ربات تلگرام
مدرس: taghandiki
این دوره را در 8 قسط خریداری کنید
دوره آموزشی Exploit نویسی به زبان Perl
مدرس: dr-iman
این دوره را در 7 قسط خریداری کنید
دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 17 قسط خریداری کنید
دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
مدرس: حسین احمدی
این دوره را در 78 قسط خریداری کنید
دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
مدرس: taghandiki
این دوره را در 20 قسط خریداری کنید
دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 27 قسط خریداری کنید
دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
مدرس: حسین احمدی
این دوره را در 17 قسط خریداری کنید

خواندن فایل اکسل در زبان جاوا

0 نظرات
106 بازدیدها
سلام به همه itpro های عزیز معمولا همه ما از برنامه های آفیس استفاده کرده ایم و همه می دانند که این برنامه ها در محیط های اداری و حرفه ای نقش بسیار پررنگی را دارند. یکی از این برنامه های کاربردی برنامه اکسل می باشد. یک برنامه صفحه گسترده که می توان به کمک آن انواع اطلاعات آماری و لیستی را نگهداری نمود. به خاطر اهمیت بسیار زیاد این فایل ها یکی از نیاز هایی که ممکن است برای کاربران پیش بیاید این است که اطلاعات موجود در فایل های این برنامه در داخل دیتابیس ذخیره شوند و همچنین بتوان با استفاده از برنامه سازمانی فایل های اکسل متنوعی را تولید نمود. در این آموزش نحوه خواندن فایل های اکس توسط زبان جاوا را توضیح می دهیم. برای این کار لازم است که آشنایی ابتدایی با زبان جاوا داشته باشید. برای این کار از کتابخانه apache poi-ooxml استفاده می کنیم. اگر شما برای مدیریت وابستگی های پروژه خود از maven استفاده می کنید می توانید برای اضافه شدن این کتابخانه به پروژه شما می توانید سطرهای زیر را داخل فایل pom.xml پروژه خود اضافه کنید و پروژه خود را بیلد کنید.
<!— https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml —>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.9</version>
</dependency>
این کتابخانه مفاهیمی در خود از جمله workbook , sheet, row , cell را در خود دارد که می توان به همه اجزای یک فایل اکسل دسترسی داشت. بعد از این که کتابخانه مورد نظر را به پروژه خود اضافه کردید شروع به نوشتن برنامه می کنیم. برای خواندن فایل اکس ابتدا باید یک XSSWorkBook از فایل مورد نظر بسازیم. این کار باعث می‌شود که یک workbook ساخته شود که می‌توان به شیت های مختلف اکسل دسترسی داشته باشیم. نحوه ساخت workbook به شکل زیر می‌باشد. دقت کنید که ورودی constructor مربوط به workbook‌ از نوع fileInputStream می‌باشد.
FileInputStream excelFile = new FileInputStream(new File(FILE_NAME));
            Workbook workbook = new XSSFWorkbook(excelFile);

برای اینکه به یک شیت از فایل اکسل مورد نظر دسترسی داشته باشیم می‌توانیم آن شیت را با استفاده از متد getSheet و اندیس آن شیت پیدا کنیم. مانند کد زیر
 Sheet datatypeSheet = workbook.getSheetAt(0);

حال می‌توانیم فایل اکسل را سطر به سطر خوانده و پردازش کنیم. برای این کار می‌توان از iteratorها استفاده کرد. دقت داشته باشید که هر سطر هم تعدادی سلول دارد که می‌توان به مقدار های آن‌ها با استفاده از iterator ها دسترسی داشت. برای مثال در برنامه زیر یک فایل اکسل خوانده شده و مقادیر سلول‌های آن در خروجی چاپ می‌شود.
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Iterator;

public class ApachePOIExcelRead {

    private static final String FILE_NAME = "/tmp/MyFirstExcel.xlsx";

    public static void main(String[] args) {

        try {

            FileInputStream excelFile = new FileInputStream(new File(FILE_NAME));
            Workbook workbook = new XSSFWorkbook(excelFile);
            Sheet datatypeSheet = workbook.getSheetAt(0);
            Iterator<Row> iterator = datatypeSheet.iterator();

            while (iterator.hasNext()) {

                Row currentRow = iterator.next();
                Iterator<Cell> cellIterator = currentRow.iterator();

                while (cellIterator.hasNext()) {

                    Cell currentCell = cellIterator.next();

                    if (currentCell.getCellTypeEnum() == CellType.STRING) {
                        System.out.print(currentCell.getStringCellValue() + "--");
                    } else if (currentCell.getCellTypeEnum() == CellType.NUMERIC) {
                        System.out.print(currentCell.getNumericCellValue() + "--");
                    }

                }
                System.out.println();

            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

دقت داشته باشید که در کد بالا اگر از کتابخانه‌های poi-ooxml با ورژن بالاتر استفاده می‌کنید getCellTypeEnum وجود ندارد و getCellType جایگزین آن شده است.ITPRO باشید.

نویسنده: مهدی عادلی فر
منبع: Itpro
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.
برچسب ها
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید

    arrow