28/8/58

การสร้างไฟล์ Excel โดยใช้ Java POI

การสร้างไฟล์ Excel โดยใช้ Java POI

บทความนี้เรามาดูวิธีการสร้างไฟล์ Excel โดยใช้ Java แบบง่าย ๆ กัน ซึ่งในการสร้างไฟล์นั้นจะใช้ Library ที่ชื่อว่า POI หรือที่รู้จักกันในชื่อ Apache POI นั่นแหละครับ

การสร้างไฟล์ Excel XLS

เรามาดูตัวอย่างโค้ดการสร้างไฟล์ Excel โดยใช้ POI แบบแรกกันก่อนซึ่งจะเป็นการสร้างไฟล์ที่มีนามสกุลเป็น .xls ตัวอย่างโค้ดตามด้านล่าง

package info.doesystem.tutorial.poi;

import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;

public class NewWorkbook {
 public static void main(String[] args) {
  try (
   Workbook wb = new HSSFWorkbook();
   FileOutputStream fileOut = new FileOutputStream("D://Blog/Temp File/workbook.xls");
  ){
   wb.write(fileOut);
   
   System.out.println("SUCCESS");
  } catch (Exception ex) {
   System.out.println("Exception " + ex);
  }
 }
}

การสร้างไฟล์ Excel XLSX

ตัวอย่างโค้ดแบบที่สองเป็นการสร้างไฟล์ Excel ที่มีนามสกุลเป็น .xlsx ตัวอย่างโค้ดตามด้านล่างครับ
package info.doesystem.tutorial.poi;

import java.io.FileOutputStream;

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class NewWorkbook {
 public static void main(String[] args) {
  try (
   Workbook wb = new XSSFWorkbook();
   FileOutputStream fileOut = new FileOutputStream("D://Blog/Temp File/workbook.xlsx");
  ){
   wb.write(fileOut);
   
   System.out.println("SUCCESS");
  } catch (Exception ex) {
   System.out.println("Exception " + ex);
  }
 }
}

จากตัวอย่างโค้ดเราจะสร้าง Workbook ไว้ใน Try ซึ่ง java 1.7 สามารถใช้ได้ แต่ถ้าต่ำกว่านี้ก็ให้ใส่ไปข้างในแล้วใช้ close เอานะครับถ้าหากเจอ Error

ตัวอย่างโค้ดทั้งสองโค้ดนี้จะเป็นการสร้างไฟล์ Excel ที่มีนามสกุลเป็น .xls กับ .xlsx ซึ่งจะต่างกันตรงที่ ไฟล์ Excel นามสกุล .xls จะสร้างโดยใช้ HSSFWorkbook ส่วนไฟล์ Excel ที่มีนามสกุลเป็น .xlsx จะสร้างโดยใช้ XSSFWorkbook

จากโค้ดเราแค่สร้าง Object Workbook ขึ้นมา แล้วก็ write ใส่ใน FileOutputStream เพียงแค่นี้เราก็ได้ไฟล์ Excel แบบง่าย ๆ กันแล้ว

ไม่มีความคิดเห็น:

แสดงความคิดเห็น