Apache POI HSSF
کتابخانه جاوا برای فایلهای باینری مایکروسافت اکسل
API منبع باز جاوا به خواندن، نوشتن و تبدیل صفحات گسترده Excel XLS اجازه می دهد.
Apache POI HSSF یک پیاده سازی جاوا خالص از فرمت فایل Excel '97 (-2007) (BIFF8) است. API منبع باز رایگان ویژگی هایی را برای ایجاد، خواندن، اصلاح و نوشتن صفحات گسترده Excel XLS فراهم می کند. توسعه دهندگانی که علاقه مند به خواندن داده های صفحه گسترده هستند، می توانند از API مدل رویداد برای برآوردن نیازهای خود استفاده کنند. به منظور اصلاح داده های صفحه گسترده، می توان از API مدل کاربر استفاده کرد. مهم است که بدانید سیستم مدل کاربر نسبت به مدل کاربر رویداد سطح پایین ردپای حافظه بالاتری دارد، اما مزیت اصلی آن این است که کار با آن بسیار ساده تر است.
Apache POI HSSF پشتیبانی عالی از ویژگیهای اضافی اکسل مانند کار با برگهها و فرمولها، ایجاد سبکهای سلولی با پر کردن رنگها و حاشیهها، فونتها، سرصفحهها و پاورقیها، اشکال، اعتبارسنجی دادهها، تصاویر، لینکها و بسیاری موارد دیگر را ارائه میکند.
شروع کار با Apache POI HSSF
اول از همه، شما باید کیت توسعه جاوا (JDK) را روی سیستم خود نصب کنید. اگر قبلاً آن را دارید، به صفحه دانلود POI Apache بروید تا آخرین نسخه پایدار را در یک آرشیو دریافت کنید. محتویات فایل ZIP را در هر دایرکتوری که از آنجا می توان کتابخانه های مورد نیاز را به برنامه جاوا شما پیوند داد استخراج کنید. این همه است!
ارجاع به POI Apache در پروژه جاوا مبتنی بر Maven شما حتی ساده تر است. تنها چیزی که نیاز دارید این است که وابستگی زیر را در pom.xml خود اضافه کنید و اجازه دهید IDE شما فایل های Apache POI Jar را واکشی و ارجاع دهد.
Apache POI Maven Dependency
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.0.0</version>
</dependency>
ایجاد کتاب کار اکسل و افزودن برگه ها از طریق API های جاوا
کتابخانه منبع باز Apache POI HSSF توسعه دهندگان نرم افزار را قادر می سازد تا یک کتاب کار جدید Microsoft Excel در قالب فایل XLS ایجاد کنند. توسعهدهندگان به راحتی میتوانند کاربرگهای جدید را از نمونهای از Workbook موجود به مجموعه اضافه کنند.
یک فایل XLS جدید ایجاد کنید
// create a new workbook
Workbook workbook = new HSSFWorkbook();
OutputStream outputStream = new FileOutputStream("CreateXls.xls");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set cell value
cell.setCellValue("File Format Developer Guide");
// save file
workbook.write(outputStream);
Java API برای خواندن و نوشتن در فایل اکسل موجود
Apache POI HSSF توسعه دهندگان نرم افزار را قادر می سازد تا به داده ها از کتاب کار موجود مایکروسافت اکسل دسترسی داشته باشند و آنها را بخوانند. خواندن در یک فایل بسیار ساده است، ابتدا یک نمونه کار از یک کاربرگ اکسل ایجاد کنید و به برگه مورد نظر برسید. سپس تعداد ردیف را افزایش دهید و روی تمام سلول ها در یک ردیف تکرار کنید. این مراحل را تکرار کنید تا تمام داده ها خوانده شوند. Apache POI HSSF همچنین ویژگی هایی را برای اصلاح یک فایل اکسل موجود فراهم می کند.
خواندن محتوای سلول از طریق جاوا
// open xls file
InputStream inputStream = new FileInputStream("document.xls");
Workbook workbook = WorkbookFactory.create(inputStream);
// get sheet
Sheet sheet = workbook.getSheetAt(0);
// get row
Row row = sheet.getRow(1);
// get cell
Cell cell = row.getCell(1);
// display data
System.out.println(cell);
رسم اشکال و افزودن تصاویر به صفحه گسترده اکسل
Apache POI-HSSF ویژگی هایی را برای رسم اشکال در صفحه گسترده اکسل فراهم می کند. از کشیدن اشکال با استفاده از ابزارهای طراحی مایکروسافت آفیس پشتیبانی می کند. اشکال مختلفی مانند بیضی، خطی، مستطیلی را بکشید و هر سبک شکل دیگری را تنظیم کنید. در Apache POI، تصاویر بخشی از طراحی هستند و در حال حاضر از انواع PNG، JPG و DIB پشتیبانی می کنند.
رسم مستطیل در XLS از طریق جاوا
// create a new workbook
Workbook workbook = new HSSFWorkbook();
OutputStream outputStream = new FileOutputStream("DrawShape.xls");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// create rectangle shape
HSSFPatriarch patriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();
HSSFClientAnchor a = new HSSFClientAnchor(0, 0, 1023, 254, (short) 1, 0, (short) 1, 0);
HSSFSimpleShape shape = patriarch.createSimpleShape(a);
shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
// save file
workbook.write(outputStream);
مدیریت فونت و ادغام سلولهای صفحهگسترده XLS
Apache POI-HSSF روش هایی را ارائه می دهد که برنامه نویسان جاوا را قادر می سازد فونت را در صفحات گسترده اکسل مدیریت کنند. ما می توانیم فونت را ایجاد کنیم، رنگ را تنظیم کنیم، اندازه را تنظیم کنیم، و غیره. Apache POI-HSSF همچنین به توسعه دهندگان اجازه می دهد تا سلول ها را در یک سلول واحد ادغام کنند. برای انجام این کار، روش هایی را ارائه می دهد که شاخص های سلول را به عنوان آرگومان می گیرند و سلول ها را در یک سلول بزرگ ادغام می کنند.
فونت را برای صفحه گسترده XLS از طریق جاوا تنظیم کنید
// create a new XLS file
OutputStream outfile = new FileOutputStream("SetFont.xls");
Workbook wb = new HSSFWorkbook();
// create a new sheet
Sheet sheet = wb.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set style
CellStyle style = wb.createCellStyle();
// set text
cell.setCellValue("File Format Developer Guide");
// set font settings
Font font = wb.createFont();
font.setFontHeightInPoints((short) 14);
font.setFontName("Arial");
font.setItalic(true);
font.setBold(true);
// apply font
style.setFont(font);
cell.setCellStyle(style);
// save
wb.write(outfile);