All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.clickntap.square.poi.Excel Maven / Gradle / Ivy

package com.clickntap.square.poi;

import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.json.JSONArray;
import org.json.JSONObject;

public class Excel {

	private XSSFWorkbook workbook;

	public Excel(InputStream in) throws Exception {
		workbook = new XSSFWorkbook(in);
	}

	public JSONObject json() {
		JSONObject json = new JSONObject();
		JSONArray rows = new JSONArray();
		Sheet sheet = workbook.getSheetAt(0);
		for (Row row : sheet) {
			JSONArray cols = new JSONArray();
			for (Cell cell : row) {
				switch (cell.getCellType()) {
				case STRING:
					cols.put(cell.getStringCellValue());
					break;
				case NUMERIC:
					if (DateUtil.isCellDateFormatted(cell)) {
						Date date = cell.getDateCellValue();
						SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
						String formattedDate = dateFormat.format(date);
						cols.put(formattedDate);
					} else {
						cols.put(cell.getNumericCellValue());
					}
					break;
				case BOOLEAN:
					cols.put(cell.getBooleanCellValue());
					break;
				case FORMULA:
					cols.put(cell.getCellFormula());
					break;
				default:
					cols.put("");
				}
			}
			rows.put(cols);
		}
		json.put("rows", rows);
		return json;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy