Java设置excel单元格锁定状态
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
/**
* @param inputFile 输入模板文件路径
* @param outputFile 输入文件存放于服务器路径
* @param dataList 待导出数据
* @throws Exception
* @roseuid:
*/
public void exportExcelFile(String inputFile, String outputFile, List dataList) throws Exception
{
//用模板文件构造poi
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(inputFile));
//创建模板工作表
HSSFWorkbook templatewb = new HSSFWorkbook(fs);
//直接取模板第一个sheet对象
HSSFSheet templateSheet = templatewb.getSheetAt(1);
//得到模板的第一个sheet的第一行对象 为了得到模板样式
HSSFRow templateRow = templateSheet.getRow(0);
//HSSFSheet timplateSheet = templatewb.getSheetAt(1);
//取得Excel文件的总列数
int columns = templateSheet.getRow((short) 0).getPhysicalNumberOfCells();
Debug.println("columns is : " + columns);
//创建样式数组
HSSFCellStyle styleArray[] = new HSSFCellStyle[columns];
//一次性创建所有列的样式放在数组里
for (int s = 0; s < columns; s++)
{
//得到数组实例
styleArray[s] = templatewb.createCellStyle();
}
//循环对每一个单元格进行赋值
//定位行
for (int rowId = 1; rowId < dataList.size(); rowId++)
{
//依次取第rowId行数据 每一个数据是valueList
List valueList = (List) dataList.get(rowId - 1);
//定位列
for (int columnId = 0; columnId < columns; columnId++)
{
//依次取出对应与colunmId列的值
//每一个单元格的值
String dataValue = (String) valueList.get(columnId);
//取出colunmId列的的style
//模板每一列的样式
HSSFCellStyle style = styleArray[columnId];
//取模板第colunmId列的单元格对象
//模板单元格对象
HSSFCell templateCell = templateRow.getCell((short) columnId);
//创建一个新的rowId行 行对象
//新建的行对象
HSSFRow hssfRow = templateSheet.createRow(rowId);
//创建新的rowId行 columnId列 单元格对象
//新建的单元格对象
HSSFCell cell = hssfRow.createCell((short) columnId);
//如果对应的模板单元格 样式为非锁定
if (templateCell.getCellStyle().getLocked() == false)
{
//设置此列style为非锁定
style.setLocked(false);
//设置到新的单元格上
cell.setCellStyle(style);
}
//否则样式为锁定
else
{
//设置此列style为锁定
style.setLocked(true);
//设置到新单元格上
cell.setCellStyle(style);
}
//设置编码
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//Debug.println("dataValue : " + dataValue);
//设置值 统一为String
cell.setCellValue(dataValue);
}
}
//设置输入流
FileOutputStream fOut = new FileOutputStream(outputFile);
//将模板的内容写到输出文件上
templatewb.write(fOut);
fOut.flush();
//操作结束,关闭文件
fOut.close();
}
Java设置excel单元格锁定状态相关推荐
- 【poi第五节】poi设置Excel单元格边框 和 背景色,java设置Excel 单元格边框 和 背景色
poi设置Excel单元格边框 和 背景色,java设置Excel 单元格边框 和 背景色 import org.apache.poi.hssf.usermodel.HSSFWorkbook; imp ...
- java设置Excel单元格格式 POI
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:先获取工作薄对象:HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.cr ...
- java设置excel单元格文本右对齐,POI操作Excel--设置单元格对齐方式--day03
设置单元格的对齐方式 1.注意: 1.如果每个单元格(cell)的样式都不一样,必须每个单元格都创建一个CellStyle,否则不生效: 2.day03关闭流的方式, 采用了JDK 7的try(),, ...
- JAVA设置EXCEL单元格为文本格式
//新增的四句话,设置CELL格式为文本格式 HSSFCellStyle cellStyle2 = demoWorkBook.createCellStyle(); HSSFDataFormat for ...
- JAVA导出excel表格标题加粗,【excle特定文字加粗】java如何设置excel单元格中部分文字加粗 例如:标题(加粗): 内容(不加粗)...
java如何设置excel单元格中部分文字加粗 例如:标题(加粗): 内容(不加粗) HSSFCellStyle style = (HSSFCellStyle) wb.createCellStyle( ...
- poi设置excel单元格背景色
poi任意设置excel单元格背景色 Cell cell = sheet.createRow(0).createCell(0); XSSFCellStyle cellStyle = (XSSFCell ...
- 设置Excel单元格背景色(setFillForegroundColor)
POI 设置Excel单元格背景色(setFillForegroundColor) 背景介绍: 使用Java开发信息系统项目,项目中往往会涉及到报表管理部分,而Excel表格首当其冲称为最合适的选择, ...
- 总结Python设置Excel单元格样式的一切,比官方文档还详细。
Python对Excel表格处理非常方便,本文专门对Excel单元格样式设置进行总结,日常用到的设置基本都可以用openpyxl库完成. 创建一个表格 openpyxl是第三方库,如果你还没有安装,输 ...
- 总结Python设置Excel单元格样式的一切,比官方文档还详细
总结Python设置Excel单元格样式的一切,比官方文档还详细 Python对Excel表格处理非常方便,本文专门对Excel单元格样式设置进行总结,日常用到的设置基本都可以用openpyxl库完成 ...
- python 设置excel单元格式,Python xlwt设置excel单元格字体及格式
Python xlwt设置excel单元格字体及格式 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: Python xlwt设置excel单元格字体及格式.txt ...
最新文章
- npm package.json那些事
- [云炬创业学笔记]第二章决定成为创业者测试10
- 计算机网络安全顾问啊,【网络安全咨询顾问工作内容|工作职责|网络安全咨询顾问做什么】-看准网...
- mysql数据库的新特性_【数据库】MySQL新特性归档介绍
- php 数组 json字段去不全,json_encode – PHP给出了不完整的json字符串
- java redis 重连机制_redis在java中的客户端连接
- maven打包不用eclipse插件
- 无法打开包括文件:“afxcontrolbars.h”
- python撩人的代码,老师教已毕业的学生,用Python代码每天不定时撩女友,附源码文件...
- 能力提升综合题单Part 8.3.1 二叉树Part 8.3.2 树的直径
- ssh登录工具 putty 和 生成.ppk文件的puttygen工具 如何使用puttygen生成密钥
- 2000元以内办公用计算机,2000元以内买什么笔记本 便宜实用笔记本【推荐】
- Just Cause系列游戏品鉴
- 关于风险管理,如何将思维从项目升维到项目群?
- 高颜值无线蓝牙耳机,南卡N2S芯片强劲音质好,还能当充电宝用
- 教程篇(6.4) 03. 设备注册 ❀ FortiManager ❀ Fortinet 网络安全专家 NSE 5
- OpenCV实战——拟合直线
- mysql grant proxy on_mysql grant配置授权
- elasticsearch 的分词
- jquery简单赋值取值