0
아파치 poi에서는 sheet.setZoom (120)을 사용하여 줌 값을 설정할 수 있습니다. 그러나 동일한 시트를 복사/복제 할 때 줌 값을 얻는 방법. 메서드 srcSheet.getZoom();을 (를) 찾을 수 없습니다. 이 방법의 대안은 무엇입니까?아파치 poi에서 시트 줌 값을 얻을 수 없습니다
아파치 poi에서는 sheet.setZoom (120)을 사용하여 줌 값을 설정할 수 있습니다. 그러나 동일한 시트를 복사/복제 할 때 줌 값을 얻는 방법. 메서드 srcSheet.getZoom();을 (를) 찾을 수 없습니다. 이 방법의 대안은 무엇입니까?아파치 poi에서 시트 줌 값을 얻을 수 없습니다
apache poi
에 메소드가없는 경우 어떻게해야합니까? 유사한 방법을 코딩하는 방법을 살펴볼 수 있습니다. 예를 들어 XSSFSheet..setZoom은 기본값 CTSheetView의 zoomScale
을 설정하는 것 외에는 아무것도 수행하지 않습니다. 따라서 기본 시트 뷰를 얻으려면 그 반대의 작업을 수행하여 zoomScale
을 얻을 수 있습니다.
예 :
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetView;
import java.lang.reflect.Method;
public class ExcelXSSFSheetZoom {
static long getZoom(XSSFSheet sheet) throws Exception {
Method getDefaultSheetView = XSSFSheet.class.getDeclaredMethod("getDefaultSheetView");
getDefaultSheetView.setAccessible(true);
CTSheetView sheetview = (CTSheetView)getDefaultSheetView.invoke(sheet);
return sheetview.getZoomScale();
}
public static void main(String[] args) throws Exception {
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet();
sheet.setZoom(120);
System.out.println(getZoom((XSSFSheet)sheet));
wb.write(new FileOutputStream("ExcelXSSFSheetZoom.xlsx"));
wb.close();
}
}
브릴리언트은 ... 당신이 많은 시간을 저장 감사드립니다. –