|
|
@ -243,7 +243,7 @@ public class ReportExcelServiceImpl implements ReportExcelService {
|
|
|
|
ReportExcelStyleDto reportExcelStyleDto = reportExcelStyleList.get(0).get(i);
|
|
|
|
ReportExcelStyleDto reportExcelStyleDto = reportExcelStyleList.get(0).get(i);
|
|
|
|
if(!Objects.isNull(reportExcelStyleDto))
|
|
|
|
if(!Objects.isNull(reportExcelStyleDto))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
processCellStyle(reportExcelStyleDto,tableCell);
|
|
|
|
processCellStyle(reportExcelStyleDto,tableCell,font);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
table.addCell(tableCell);
|
|
|
|
table.addCell(tableCell);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -265,7 +265,7 @@ public class ReportExcelServiceImpl implements ReportExcelService {
|
|
|
|
ReportExcelStyleDto reportExcelStyleDto = reportExcelStyleList.get(i).get(j);
|
|
|
|
ReportExcelStyleDto reportExcelStyleDto = reportExcelStyleList.get(i).get(j);
|
|
|
|
if(!Objects.isNull(reportExcelStyleDto))
|
|
|
|
if(!Objects.isNull(reportExcelStyleDto))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
processCellStyle(reportExcelStyleDto,tableCell);
|
|
|
|
processCellStyle(reportExcelStyleDto,tableCell,font);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
table.addCell(tableCell);
|
|
|
|
table.addCell(tableCell);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -293,14 +293,14 @@ public class ReportExcelServiceImpl implements ReportExcelService {
|
|
|
|
* 处理导出pdf文件样式
|
|
|
|
* 处理导出pdf文件样式
|
|
|
|
* @param tableCell
|
|
|
|
* @param tableCell
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public void processCellStyle(ReportExcelStyleDto reportExcelStyleDto,PdfPCell tableCell)
|
|
|
|
public void processCellStyle(ReportExcelStyleDto reportExcelStyleDto,PdfPCell tableCell,Font font)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// 处理单元格背景颜色
|
|
|
|
// 处理单元格背景颜色
|
|
|
|
String bg = reportExcelStyleDto.getBg();
|
|
|
|
String bg = reportExcelStyleDto.getBg();
|
|
|
|
java.awt.Color color = null;
|
|
|
|
java.awt.Color color = null;
|
|
|
|
if(!Objects.isNull(bg))
|
|
|
|
if(!Objects.isNull(bg))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
color = java.awt.Color.decode(bg);
|
|
|
|
color = parseRGB(bg);
|
|
|
|
tableCell.setBackgroundColor(new BaseColor(color.getRed(), color.getGreen(), color.getBlue()));
|
|
|
|
tableCell.setBackgroundColor(new BaseColor(color.getRed(), color.getGreen(), color.getBlue()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 处理字体
|
|
|
|
// 处理字体
|
|
|
@ -309,11 +309,15 @@ public class ReportExcelServiceImpl implements ReportExcelService {
|
|
|
|
String ff = reportExcelStyleDto.getFf();
|
|
|
|
String ff = reportExcelStyleDto.getFf();
|
|
|
|
Boolean bl = reportExcelStyleDto.isBl();
|
|
|
|
Boolean bl = reportExcelStyleDto.isBl();
|
|
|
|
Boolean it = reportExcelStyleDto.isIt();
|
|
|
|
Boolean it = reportExcelStyleDto.isIt();
|
|
|
|
Font font = new Font();
|
|
|
|
Boolean cl = reportExcelStyleDto.isCl();
|
|
|
|
|
|
|
|
Integer ht = reportExcelStyleDto.getHt();
|
|
|
|
|
|
|
|
Integer vt = reportExcelStyleDto.getVt();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置字体颜色
|
|
|
|
// 设置字体颜色
|
|
|
|
if(!Objects.isNull(fc))
|
|
|
|
if(!Objects.isNull(fc))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
color = java.awt.Color.decode(fc);
|
|
|
|
color = parseRGB(fc);
|
|
|
|
font.setColor(new BaseColor(color.getRed(), color.getGreen(), color.getBlue()));
|
|
|
|
font.setColor(new BaseColor(color.getRed(), color.getGreen(), color.getBlue()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 设置字体
|
|
|
|
// 设置字体
|
|
|
@ -341,6 +345,61 @@ public class ReportExcelServiceImpl implements ReportExcelService {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
font.setStyle(Font.BOLDITALIC);
|
|
|
|
font.setStyle(Font.BOLDITALIC);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 是否删除线
|
|
|
|
|
|
|
|
if(Objects.equals(Boolean.TRUE,cl))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
// 如果是粗体且斜体
|
|
|
|
|
|
|
|
if (font.getStyle() == Font.BOLDITALIC)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
font.setStyle(Font.BOLDITALIC | Font.STRIKETHRU);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 如果是粗体
|
|
|
|
|
|
|
|
else if(font.getStyle() == Font.BOLD)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
font.setStyle(Font.BOLD | Font.STRIKETHRU);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 如果是斜体
|
|
|
|
|
|
|
|
else if(font.getStyle() == Font.ITALIC)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
font.setStyle(Font.ITALIC | Font.STRIKETHRU);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
font.setStyle(Font.STRIKETHRU);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 水平对齐
|
|
|
|
|
|
|
|
if(!Objects.isNull(ht))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(Objects.equals(ht,0))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
tableCell.setHorizontalAlignment(Element.ALIGN_CENTER);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if(Objects.equals(ht,1))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
tableCell.setHorizontalAlignment(Element.ALIGN_LEFT);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if(Objects.equals(ht,2))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
tableCell.setHorizontalAlignment(Element.ALIGN_RIGHT);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 垂直对齐
|
|
|
|
|
|
|
|
if(!Objects.isNull(vt))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(Objects.equals(ht,0))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
tableCell.setVerticalAlignment(com.itextpdf.text.Element.ALIGN_MIDDLE);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if(Objects.equals(ht,1))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
tableCell.setVerticalAlignment(Element.ALIGN_TOP);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if(Objects.equals(ht,2))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
tableCell.setVerticalAlignment(Element.ALIGN_BOTTOM);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
Phrase phrase = tableCell.getPhrase();
|
|
|
|
Phrase phrase = tableCell.getPhrase();
|
|
|
|
tableCell.setPhrase(new Paragraph(phrase.getContent(), font));
|
|
|
|
tableCell.setPhrase(new Paragraph(phrase.getContent(), font));
|
|
|
|
//处理字体
|
|
|
|
//处理字体
|
|
|
@ -348,6 +407,20 @@ public class ReportExcelServiceImpl implements ReportExcelService {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static java.awt.Color parseRGB(String rgb) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
String[] components = rgb.substring(rgb.indexOf("(") + 1, rgb.indexOf(")")).split(",");
|
|
|
|
|
|
|
|
int red = Integer.parseInt(components[0].trim());
|
|
|
|
|
|
|
|
int green = Integer.parseInt(components[1].trim());
|
|
|
|
|
|
|
|
int blue = Integer.parseInt(components[2].trim());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new java.awt.Color(red, green, blue);
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
return null; // 解析失败,返回null
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private String getStringValue(Cell cell) {
|
|
|
|
private String getStringValue(Cell cell) {
|
|
|
|
if (cell == null)
|
|
|
|
if (cell == null)
|
|
|
|
return "";
|
|
|
|
return "";
|
|
|
|