در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

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

سلام به همه 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

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

#برنامه_نویسی_جاوا #آموزش_برنامه_نویسی_جاوا #آموزش_استفاده_از_اکسل_در_جاوا #ارتباط_اکسل_و_جاوا #کار_با_اکسل_در_جاوا #خواندن_فایل_اکسل_در_جاوا #یادگیری_زبان_برنامه_نویسی_جاوا
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....