如图所示,需要控制这两个属性才可以控制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();
}
}