package com.ruoyi.web.core.config; 
 | 
  
 | 
import com.ruoyi.common.config.RuoYiConfig; 
 | 
import com.ruoyi.common.utils.poi.ExcelUtil; 
 | 
import com.ruoyi.project.domain.BaseFinancesubject; 
 | 
import com.ruoyi.project.domain.TestExcelVo; 
 | 
import org.apache.poi.ss.usermodel.*; 
 | 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 
 | 
  
 | 
import java.io.FileInputStream; 
 | 
import java.io.FileOutputStream; 
 | 
import java.io.IOException; 
 | 
import java.io.InputStream; 
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
  
 | 
public class Test { 
 | 
  
 | 
    public static void main(String[] args) throws Exception { 
 | 
  
 | 
//        mergeExcel("E:\\OPO\\WEB\\Upload\\download\\3683d6af-c2c6-4225-821c-e54f6b0cda3f_VIEW数据.xlsx", "E:\\OPO\\WEB\\Upload\\download\\18ae2e71-730a-4948-929c-549df35104e3_VIEW数据.xlsx", "E:\\OPO\\WEB\\Upload\\download\\数据测试.xlsx"); 
 | 
// 
 | 
//        ArrayList list=new ArrayList(); 
 | 
//        list.add("3683d6af-c2c6-4225-821c-e54f6b0cda3f_VIEW数据.xlsx"); 
 | 
//        list.add("bcfc7779-d7f1-416b-9c60-61315a59699e_VIEW数据.xlsx"); 
 | 
// 
 | 
//        mergeExcel2(list,"E:\\OPO\\WEB\\Upload\\download\\数据测试.xlsx"); 
 | 
    } 
 | 
  
 | 
    private static void createTableWithBorders(Sheet sheet, int startRow, int startCol, int numRows, int numCols, List<String> list, Workbook workbook) { 
 | 
        for (int i = startRow; i < startRow + numRows; i++) { 
 | 
            Row row = sheet.createRow(i); 
 | 
            if (i == 4) { 
 | 
                CellStyle cellStyle = workbook.createCellStyle(); 
 | 
                cellStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex()); // 设置前景填充颜色为黄色 
 | 
                cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 设置填充模式 
 | 
  
 | 
                // 应用样式到行 
 | 
                row.setRowStyle(cellStyle); 
 | 
            } 
 | 
            for (int j = startCol; j <= startCol + numCols; j++) { 
 | 
                sheet.setColumnWidth(j, (j + 1) * 256); 
 | 
                Cell cell = row.createCell(j); 
 | 
//                cell.setCellValue("Table" + (i - startRow) + (j - startCol)); 
 | 
                cell.setCellValue(list.get(j - startCol)); 
 | 
                // Apply borders to the cell 
 | 
                CellStyle cellStyle = sheet.getWorkbook().createCellStyle(); 
 | 
                cellStyle.setBorderTop(BorderStyle.THIN); 
 | 
                cellStyle.setBorderBottom(BorderStyle.THIN); 
 | 
                cellStyle.setBorderLeft(BorderStyle.THIN); 
 | 
                cellStyle.setBorderRight(BorderStyle.THIN); 
 | 
                cell.setCellStyle(cellStyle); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    public static void mergeExcel(String file1, String file2, String outputFile) throws IOException { 
 | 
        try { 
 | 
            InputStream is1 = new FileInputStream(file1); 
 | 
            InputStream is2 = new FileInputStream(file2); 
 | 
            Workbook workbook1 = new XSSFWorkbook(is1); 
 | 
            Workbook workbook2 = new XSSFWorkbook(is2); 
 | 
            Workbook resultWorkbook = new XSSFWorkbook(); 
 | 
  
 | 
            Sheet sheet1 = workbook1.getSheetAt(0); 
 | 
            Sheet sheet2 = workbook2.getSheetAt(0); 
 | 
  
 | 
            // 复制第一个文件的Sheet 
 | 
            Sheet newSheet1 = resultWorkbook.createSheet("Sheet1"); 
 | 
            for (Row row : sheet1) { 
 | 
                Row newRow = newSheet1.createRow(row.getRowNum()); 
 | 
                int columns = row.getLastCellNum(); 
 | 
                for (int i = 0; i < columns; i++) { 
 | 
                    newSheet1.setColumnWidth(i, 6000); 
 | 
                    Cell cell = row.getCell(i); 
 | 
                    Cell newCell = newRow.createCell(cell.getColumnIndex()); 
 | 
                    newCell.setCellValue(cell.getStringCellValue()); 
 | 
                } 
 | 
            } 
 | 
  
 | 
            // 复制第二个文件的Sheet 
 | 
            Sheet newSheet2 = resultWorkbook.createSheet("Sheet2"); 
 | 
            for (Row row : sheet2) { 
 | 
                Row newRow = newSheet2.createRow(row.getRowNum()); 
 | 
                for (Cell cell : row) { 
 | 
                    Cell newCell = newRow.createCell(cell.getColumnIndex()); 
 | 
                    newCell.setCellValue(cell.getStringCellValue()); 
 | 
                } 
 | 
            } 
 | 
  
 | 
            // 写入到新的Excel文件 
 | 
            FileOutputStream out = new FileOutputStream(outputFile); 
 | 
            resultWorkbook.write(out); 
 | 
  
 | 
        } catch (Exception e) { 
 | 
           e.printStackTrace(); 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    public static void mergeExcel2(List<String> files, String outputFile) { 
 | 
        try { 
 | 
            Workbook resultWorkbook = new XSSFWorkbook(); 
 | 
            for (String file : files) { 
 | 
                InputStream is1 = new FileInputStream("E:\\OPO\\WEB\\Upload\\download\\" + file); 
 | 
                Workbook workbook1 = new XSSFWorkbook(is1); 
 | 
                Sheet sheet1 = workbook1.getSheetAt(0); 
 | 
                // 复制第一个文件的Sheet 
 | 
                Sheet newSheet1 = resultWorkbook.createSheet(file.substring(0, file.indexOf("."))); 
 | 
                for (Row row : sheet1) { 
 | 
                    Row newRow = newSheet1.createRow(row.getRowNum()); 
 | 
                    int columns = row.getLastCellNum(); 
 | 
                    for (int i = 0; i < columns; i++) { 
 | 
                        newSheet1.setColumnWidth(i, 6000); 
 | 
                        Cell cell = row.getCell(i); 
 | 
                        Cell newCell = newRow.createCell(cell.getColumnIndex()); 
 | 
                        newCell.setCellValue(cell.getStringCellValue()); 
 | 
                    } 
 | 
                } 
 | 
  
 | 
            } 
 | 
            FileOutputStream out = new FileOutputStream(outputFile); 
 | 
            resultWorkbook.write(out); 
 | 
        } catch (Exception e) { 
 | 
            e.printStackTrace(); 
 | 
        } 
 | 
    } 
 | 
} 
 |