jxl 操作excle 修改 添加 追加批注 java
来源:互联网 发布:ios 大众点评 源码 编辑:程序博客网 时间:2024/06/05 09:25
import java.io.File;import java.util.regex.Matcher;import java.util.regex.Pattern;import jxl.Sheet;import jxl.Workbook;import jxl.format.CellFormat;import jxl.write.Label;import jxl.write.WritableCell;import jxl.write.WritableCellFeatures;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;public class ExcelTools {/** * * 设置excel修改批注信息 * * @param File file 文件 * @param Workbook book * @param int col 列坐标 * @param int row 行坐标 * @param String text 批注信息 * @return boolean true|false */public synchronized static boolean updateCmment(File file, Workbook book, int col, int row, String text) {WritableWorkbook wbe = null;WritableSheet sheet = null;WritableCell cell = null;int height;try {wbe = Workbook.createWorkbook(file, book);//创建workbook的副本 sheet = wbe.getSheet(0); //获取第一个sheet cell =sheet.getWritableCell(col, row); //获取第一个单元格 WritableCellFeatures cellFeatures = new WritableCellFeatures(); //创建空的featuresif(null != cell.getCellFeatures()){cell.getCellFeatures().removeComment();}else{cell.setCellFeatures(cellFeatures);}height = getCommentRows(text, "\r\n");cellFeatures.setComment(text, 3, height+2);cell.setCellFeatures(cellFeatures);return true;} catch (Exception e) {e.printStackTrace();return false;}finally{try {wbe.write();//将修改保存到workbookwbe.close();//关闭workbook,释放内存} catch (Exception e) {e.printStackTrace();} }}/** * * 设置excel追加批注信息,保留原来批注 * * @param File file 文件 * @param Workbook book * @param int col 列坐标 * @param int row 行坐标 * @param String text 批注信息 * @return boolean true|false */public synchronized static boolean addCmment(File file, Workbook book, int col, int row, String text) {WritableWorkbook wbe = null;WritableSheet sheet = null;WritableCell cell = null;String oldmark = null;int height;try {wbe = Workbook.createWorkbook(file, book);//创建workbook的副本 sheet = wbe.getSheet(0); //获取第一个sheet cell =sheet.getWritableCell(col, row); //获取第一个单元格 WritableCellFeatures cellFeatures = new WritableCellFeatures(); //创建空的featuresoldmark = cell.getCellFeatures() == null ? null : cell.getCellFeatures().getComment();//原批注if(null != oldmark){cell.getCellFeatures().removeComment();text = oldmark + "\r\n---------------\r\n" + text;}else{cell.setCellFeatures(cellFeatures);}height = getCommentRows(text, "\r\n");cellFeatures.setComment(text, 3, height+3);cell.setCellFeatures(cellFeatures);return true;} catch (Exception e) {e.printStackTrace();return false;}finally{try {wbe.write();//将修改保存到workbookwbe.close();//关闭workbook,释放内存} catch (Exception e) {e.printStackTrace();} }}/** * * 设置删除批注信息 * * @param File file 文件 * @param Workbook book * @param int col 列坐标 * @param int row 行坐标 * @return boolean true|false */public synchronized static boolean removeCmment(File file, Workbook book, int col, int row) {WritableWorkbook wbe = null;WritableSheet sheet = null;WritableCell cell = null;try {wbe = Workbook.createWorkbook(file, book);//创建workbook的副本 sheet = wbe.getSheet(0); //获取第一个sheet cell =sheet.getWritableCell(col, row); //获取第一个单元格 WritableCellFeatures cellFeatures = new WritableCellFeatures(); //创建空的featuresif(null != cell.getCellFeatures()){cell.getCellFeatures().removeComment();}cell.setCellFeatures(cellFeatures);return true;} catch (Exception e) {e.printStackTrace();return false;}finally{try {wbe.write();//将修改保存到workbookwbe.close();//关闭workbook,释放内存} catch (Exception e) {e.printStackTrace();} }}public static int getCommentRows(String str, String findstr){String regEx = findstr; //要匹配的子串,可以用正则表达式 Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); int i = 0;while(m.find()) {i++;}return i;}/** * 测试 */public static void main(String[] args) throws Exception {//添加批注startFile file = new File("D://001311600.xls");//File file = new File("D://3333.xls");Workbook book = Workbook.getWorkbook(file);Sheet sheet = book.getSheet(0);System.out.println(sheet.getRow(0)[0].getContents());//打印坐标 0,0 文字信息ExcelTools.addCmment(file, book, 0, 0, "测试787123456789012");//ExcelTools.updateCmment(file, book, 0, 0, "测试787123456789012\r\n");//ExcelTools.removeCmment(file, book, 0, 0); book.close(); }}
0 0
- jxl 操作excle 修改 添加 追加批注 java
- 采用jxl操作读取Excle
- JAVA 操作Excle解决方案
- JAVA 操作Excle解决方案
- JAVA 操作Excle解决方案
- java操作Excle
- Java Poi 操作Excle
- jExcelAPI java操作Excle
- Java Poi 操作Excle
- JXL获取excel批注
- java jxl创建/读取/修改Excel 操作Excel
- java从excle表中读数据(jxl)
- JXL(JExcleApi)Excle详细使用心得 Java导出Excel
- Java生成和读取Excle文件之JXL框架辅助工具
- JXL 读写excle
- JXL处理excle
- jxl 导出excle整理
- JAVA 操作Excle解决方案
- @Html.TextBoxFor的自动生成ID
- LeetCode 217. Contains Duplicate(C++版)
- flex集成出现Error loading: \Java\jdk1.6.0_35\jre\bin\server\jvm.dll
- 给GFF3格式文件添加fasta格式
- 1014 : Trie树
- jxl 操作excle 修改 添加 追加批注 java
- 兼容IE8及以上的换肤控件
- Python入门(二)中文编码与基础语法
- void*与void;strlen与sizeof;memset
- 个人UI库,已经封装好,附带demo(持续更新中)
- POJ3186
- java-使用 freemarker 替换 jstl EL 开发 springmvc web项目
- Others2_谈谈个人常用的软件
- Android Dalvik 虚拟机(一)