excel 전환 pdf 방안
1 excel 전환 pdf 방법 참조 예:https://github.com/caryyu/excel2pdf.git그것의 원리도 모두가 가장 직관적인 생각이다. excel을 획득한 다음에 그것을 pdf로 전환한다. 실제 핵심 코드는 다음과 같다. 코드는 excel에서 값을 얻은 다음에 pdf에 넣어야 하기 때문에 논리가 비교적 복잡하다.
` protected PdfPTable toParseContent(Sheet sheet) throws BadElementException, MalformedURLException, IOException{ int rows = sheet.getPhysicalNumberOfRows();
List cells = new ArrayList();
float[] widths = null;
float mw = 0;
for (int i = 0; i < rows; i++) {
Row row = sheet.getRow(i);
int columns = row.getLastCellNum();
float[] cws = new float[columns];
for (int j = 0; j < columns; j++) {
Cell cell = row.getCell(j);
if (cell == null) cell = row.createCell(j);
float cw = getPOIColumnWidth(cell);
cws[cell.getColumnIndex()] = cw;
cell.setCellType(Cell.CELL_TYPE_STRING);
CellRangeAddress range = getColspanRowspanByExcel(row.getRowNum(), cell.getColumnIndex());
int rowspan = 1;
int colspan = 1;
if (range != null) {
rowspan = range.getLastRow() - range.getFirstRow() + 1;
colspan = range.getLastColumn() - range.getFirstColumn() + 1;
}
PdfPCell pdfpCell = new PdfPCell();
pdfpCell.setBackgroundColor(new BaseColor(POIUtil.getRGB(
cell.getCellStyle().getFillForegroundColorColor())));
pdfpCell.setColspan(colspan);
pdfpCell.setRowspan(rowspan);
pdfpCell.setVerticalAlignment(getVAlignByExcel(cell.getCellStyle().getVerticalAlignment()));
pdfpCell.setHorizontalAlignment(getHAlignByExcel(cell.getCellStyle().getAlignment()));
pdfpCell.setPhrase(getPhrase(cell));
if (sheet.getDefaultRowHeightInPoints() != row.getHeightInPoints()) {
pdfpCell.setFixedHeight(this.getPixelHeight(row.getHeightInPoints()));
}
addBorderByExcel(pdfpCell, cell.getCellStyle());
addImageByPOICell(pdfpCell , cell , cw);
cells.add(pdfpCell);
j += colspan - 1;
}
float rw = 0;
for (int j = 0; j < cws.length; j++) {
rw += cws[j];
}
if (rw > mw || mw == 0) {
widths = cws;
mw = rw;
}
}
PdfPTable table = new PdfPTable(widths);
table.setWidthPercentage(100);
for (PdfPCell pdfpCell : cells) {
table.addCell(pdfpCell);
}
return table;
}`
2 pdf 템플릿을 통해 pdf 직접 생성
예제 문서:https://blog.csdn.net/weixin_41187876/article/details/79156969?tdsourcetag=s_pcqq_aiomsg
절차는: pdf 템플릿 가져오기->데이터 가져오기->pdf 파일 생성
이런 방식은 감각이 더욱 직관적이고 전환 조작도 적어서 성능이 더욱 좋다
3 나의 이번 요구에 맞추어 사용자가 excel 파일을 수정하는 것을 방지하기 위해
사실 excel에는 암호화 기능이 있어서 코드 한 줄로 해결할 수 있다
sheet.protectSheet(UUID.randomUUID().toString());
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.