Java 如何限定Excel不能够复制?

图片说明

如图所示,需要控制这两个属性才可以控制excel内容不可复制,但是找不到方法,求大神指导,POI和JXL已试过,可能是的方法不对,求代码,在线等!

使用XSSFSheet的lockSelectLockedCells和lockSelectUnlockedCells方法。

事例代码如下。

import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Test1 {

    public static void main(String[] args) throws IOException {

        String file = "E:\\tmp\\2.xlsx";
        FileOutputStream outputStream = new FileOutputStream(file);
        Workbook wb = new XSSFWorkbook();

        CellStyle unlockedCellStyle = wb.createCellStyle();
        unlockedCellStyle.setLocked(false);

        // Sheet sheet = (XSSFSheet)wb.createSheet();
        XSSFSheet secureSheet = (XSSFSheet) wb.createSheet();

        Row row = secureSheet.createRow(0);
        Cell cell = row.createCell(0);
        cell.setCellValue("TEST");
        cell.setCellStyle(unlockedCellStyle);

        secureSheet.protectSheet("");
        secureSheet.lockSelectLockedCells(true);
        secureSheet.lockSelectUnlockedCells(true);

        wb.write(outputStream);
        outputStream.close();
    }

}