java在对数据进行excel导出的时候是否可以设置某一个单元格为锁定的状态? 15

Workbookworkbook=excelWorkbook.getWorkbook();CellStylestyle=workbook.createCellStyle(... Workbook workbook = excelWorkbook.getWorkbook();
CellStyle style = workbook.createCellStyle();
style.setAlignment(CellStyle.ALIGN_CENTER);
//边框颜色和宽度设置
style.setBorderBottom(CellStyle.BORDER_THIN);
style.setBottomBorderColor(IndexedColors.BLACK.getIndex());
style.setBorderLeft(CellStyle.BORDER_THIN);
style.setLeftBorderColor(IndexedColors.BLACK.getIndex());
style.setBorderRight(CellStyle.BORDER_THIN);
style.setRightBorderColor(IndexedColors.BLACK.getIndex());
style.setBorderTop(CellStyle.BORDER_THIN);
style.setTopBorderColor(IndexedColors.BLACK.getIndex());
style.setFillBackgroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
//设置背景颜色
style.setFillForegroundColor(HSSFColor.RED.index);
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
//粗体字设置
Font font = workbook.createFont();
font.setBoldweight(Font.DEFAULT_CHARSET);
style.setFont(font);
workbook.getSheetAt(0).getRow(1).getCell(6).setCellStyle(style);
workbook.getSheetAt(0).getRow(1).getCell(7).setCellStyle(style);
workbook.getSheetAt(0).getRow(1).getCell(8).setCellStyle(style);
workbook.getSheetAt(0).getRow(1).getCell(10).setCellStyle(style);
workbook.getSheetAt(0).getRow(1).getCell(12).setCellStyle(style);
workbook.getSheetAt(0).getRow(1).getCell(13).setCellStyle(style);

如上代码可以设置单元格的颜色以及字体 请问应该如何把他锁定 无法对这个单元格进行操作
展开
 我来答
keep5
2013-12-12 · TA获得超过298个赞
知道小有建树答主
回答量:220
采纳率:100%
帮助的人:205万
展开全部
void setDataValidation(HSSFCell cell)
{
// 单元格设置数据有效性
DVConstraint constraint = DVConstraint.createNumericConstraint(DVConstraint.ValidationType.INTEGER, DVConstraint.OperatorType.GREATER_OR_EQUAL, "0", null);
//设置数据有效性加载在哪个单元格上。
//四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(cell.getRowIndex(), cell.getRowIndex(), cell.getColumnIndex(), cell.getColumnIndex());
//数据有效性对象
HSSFDataValidation data_validation = new HSSFDataValidation(regions, constraint);
//加入sheet
sheet.addValidationData(data_validation);
}

//调用上面方法
HSSFCell cell = row.getCell(5);
setDataValidation(cell); 调用这个方法 就会锁住你指定的列
更多追问追答
追问
那个 本人是初学的 你有办法在我写的那段代码上加入你写的这段代码吗 我不会。。不好意思啊
追答
你先把上面一个方法 拷贝到你的那个类里面,然后想在哪个行哪个列的单元格进行锁定,就 setDataValidation(cell);就行的,我写的很详细了~
setDataValidation( workbook.getSheetAt(0).getRow(1).getCell(6));比如这样
一般开发都讲究规范
你这里可以分解成
//取行
HSSFRow row =workbook.getSheetAt(0).getRow(1);
//取列
HSSFCell cell = row.getCell(6);
//添加样式
cell.setCellStyle(style);
//加锁
setDataValidation(cell);
希望对你有所帮助
小屠户
2013-12-12 · TA获得超过383个赞
知道小有建树答主
回答量:329
采纳率:100%
帮助的人:228万
展开全部
下面是锁定某个单元格

//设置此列style为锁定
style.setLocked(true);
//设置到新单元格上
cell.setCellStyle(style);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式