JXLS excel 도구 클래스 생성
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.sf.jxls.transformer.XLSTransformer;
public final class JxlsUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(JxlsUtil.class);
private static JxlsUtil jxlsUtil = null;
private JxlsUtil()
{
}
public static JxlsUtil getInstance()
{
if(jxlsUtil == null)
{
return new JxlsUtil();
}
return jxlsUtil;
}
/**
* excel
* @param map
* @param filePath
* @param targetPath
*/
public void buildXLS(Map map, String filePath, String targetPath)
{
XLSTransformer transformer = new XLSTransformer();
try
{
InputStream is = new FileInputStream(filePath);
HSSFWorkbook workBook = (HSSFWorkbook) transformer.transformXLS(is,map);
workBook.setActiveSheet(0);
OutputStream os = new FileOutputStream(targetPath);
workBook.write(os);
is.close();
os.flush();
}
catch (FileNotFoundException e)
{
LOGGER.error("exception message: ",e);
}
catch (IOException e)
{
LOGGER.error("exception message: ",e);
}
catch (Exception e)
{
LOGGER.error("exception message: ",e);
}
}
/**
* excel
* @param map
* @param filePath
* @param targetPath
*/
public void buildMultipleSheetsXLS(String filePath, String targetPath, List objects, List newSheetNames, String beanName, Map beanParams, int startSheetNum,MergedCallBack mergedCallBack)
{
XLSTransformer transformer = new XLSTransformer();
OutputStream os = null;
InputStream is = null;
try
{
is = new FileInputStream(filePath);
HSSFWorkbook workBook = (HSSFWorkbook) transformer.transformMultipleSheetsList(is, objects, newSheetNames, beanName, beanParams, startSheetNum);
FormulaEvaluator evaluator = workBook.getCreationHelper().createFormulaEvaluator();
for(int sheetNum = 0; sheetNum < workBook.getNumberOfSheets(); sheetNum++) {
Sheet sheet = workBook.getSheetAt(sheetNum);
for(Row r : sheet) {
for(Cell c : r) {
if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
evaluator.evaluateFormulaCell(c);
c.setCellType(Cell.CELL_TYPE_NUMERIC);
}
}
}
}
if(mergedCallBack != null)
{
mergedCallBack.setMegerdCall(workBook);
}
os = new FileOutputStream(targetPath);
workBook.write(os);
os.flush();
}
catch (FileNotFoundException e)
{
LOGGER.error("exception message: ",e);
}
catch (IOException e)
{
LOGGER.error("exception message: ",e);
}
catch (Exception e)
{
LOGGER.error("exception message: ",e);
}
finally {
if(is != null)
{
try {
is.close();
} catch (IOException e) {
LOGGER.error("exception message: ",e);
}
}
if(os != null)
{
try {
os.close();
} catch (IOException e) {
LOGGER.error("exception message: ",e);
}
}
}
}
}
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public interface MergedCallBack
{
void setMegerdCall(HSSFWorkbook workBook);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.