
group.rober.dataform.util.LiteExcelUtils Maven / Gradle / Ivy
package group.rober.dataform.util;
import group.rober.runtime.kit.IOKit;
import group.rober.runtime.kit.StringKit;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.usermodel.Row.MissingCellPolicy;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFDataFormat;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* EXCEL操作快捷工具类,仅仅提供给DataForm模块使用,断掉dataform模块对office模块的依赖
*
* @author 杨松 [email protected]
*/
class LiteExcelUtils {
/**
* 打开EXCEL文件获取工作薄对象
*
* @param inputStream inputStream
* @return Workbook
* @throws IOException IOException
*/
public static Workbook openWorkbook(InputStream inputStream) throws IOException {
Workbook workBook = null;
InputStream newIs = inputStream;
try {
try {
newIs = IOKit.convertToByteArrayInputStream(newIs);
workBook = new XSSFWorkbook(OPCPackage.open(newIs));
} catch (NotOfficeXmlFileException e) {
newIs.reset();
workBook = new HSSFWorkbook(newIs);
}
} catch (IOException e) {
throw e;
} catch (OpenXML4JException e) {
throw new IOException("读取流2007+格式异常", e);
} finally {
IOKit.close(newIs);
}
return workBook;
}
public static void autoSizeColumn(Sheet sheet){
if(sheet.getLastRowNum()>0){
Row row = sheet.getRow(0);
int cols = row.getLastCellNum();
for(int i=0;i
© 2015 - 2025 Weber Informatics LLC | Privacy Policy