jxl在生成excel的时候,可以提供带保护的excel,防止用户篡改。看例子:
/**
* 创建excel文件
* @param file
*/
public static void getExcelModel(File file){
try {
String[] title = {"史籍语料","ID","唯一标示符号","标题级别","新增条目名","主题词","分类"};
// 创建Excel工作薄
WritableWorkbook wwb=Workbook.createWorkbook(file);
//定义excel标题单元格的样式
WritableFont wf = new WritableFont(WritableFont.ARIAL, 15,WritableFont.BOLD); // 定义格式 字体 下划线 斜体 粗体 颜色
WritableCellFormat wcf = new WritableCellFormat(wf); // 单元格定义
wcf.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式
//定义卷次标题的样式
WritableFont wfJuanci=new WritableFont(WritableFont.ARIAL, 13, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, ColourUtil.getNearestColour("#7030A0"));
WritableCellFormat wcfJuanci=new WritableCellFormat(wfJuanci);
//定义卷标题的样式
WritableFont wfJuan=new WritableFont(WritableFont.createFont("宋体"), 12, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, ColourUtil.getNearestColour("#008000"));
WritableCellFormat wcfJuan=new WritableCellFormat(wfJuan);
//定义篇标题的样式
WritableFont wfPian=new WritableFont(WritableFont.createFont("宋体"), 11, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, ColourUtil.getNearestColour("#92D050"));
WritableCellFormat wcfPian=new WritableCellFormat(wfPian);
//定义章标题的样式
WritableFont wfZhang=new WritableFont(WritableFont.createFont("宋体"), 10, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, ColourUtil.getNearestColour("#0000FF"));
WritableCellFormat wcfZhang=new WritableCellFormat(wfZhang);
//定义节标题的样式
WritableFont wfJie=new WritableFont(WritableFont.createFont("宋体"), 9, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, ColourUtil.getNearestColour("#66FFFF"));
WritableCellFormat wcfJie=new WritableCellFormat(wfJie);
WritableSheet sheet = wwb.createSheet("内容结构", 0);//设置excel的第一个工作簿的名字
Label label;
for(int i=0;i<title.length;i++){
// Label(x,y,z) 代表单元格的第x+1列,第y+1行, 内容z
// 在Label对象的子对象中指明单元格的位置和内容
label = new Label(i,0,title[i],wcf);
// 将定义好的单元格添加到工作表中
sheet.addCell(label);
sheet.setColumnView(i, 20); // 设置列的宽度
}
sheet.getSettings();//得到excel工作簿的设置对象
sheet.getSettings().setProtected(true);//设置excel文件的保护
sheet.getSettings().setPassword("123456");//设置excel文件的保护密码
// 写入数据
wwb.write();
// 关闭文件
wwb.close();
} catch (Exception e) {
// TODO: handle exception
System.out.println("导出excel文件出错");
JOptionPane.showMessageDialog(null,"导出excel文件出错");
e.printStackTrace();
}
}
这样创建的excel只能看,不能改。如果要改只能取消保护,并且输入正确的密码。
受保护excel的读取,excel保护机制只是在excel软件做了限制,并没有深层的进行限制。所以还是可以通过程序更改的,不需要密码。看例子:
private static void updateExcel(File file){
try {
Workbook book = Workbook.getWorkbook(file);//读取一个excel文件对象,便于以后读取
WritableWorkbook wwb = Workbook.createWorkbook(file, book);//得到正在读取文件的创建对象,便于以后修改
// 读取第一张工作表
WritableSheet sheet = wwb.getSheet(0) ;
for(int i=0;i<sheet.getRows();i++){
System.out.println(sheet.getCell(0, i).getContents());
}
Label label=new Label(0, 0, "啊啊啊");//修改其第一个单元格的内容,通过单元格覆盖的方法进行修改
sheet.addCell(label);//加入单元格,相当于覆盖
book.close();
wwb.write() ;
wwb.close() ;
System.out.println("更新完成!") ;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
主方法:
public static void main(String[] args) {
//getExcelModel(new File("C:\\Users\\Administrator\\Desktop\\lock.xls"));
updateExcel(new File("C:\\Users\\Administrator\\Desktop\\lock2.xls"));
}
相关推荐
6. **读取Excel**:除了生成Excel文件,jxl还可以读取已有的Excel文件,将其内容转化为Java数据结构,便于处理和分析。 7. **示例代码**:通常,使用jxl的流程包括加载模板文件,找到要填充的单元格,使用`Cell....
以下是一个简单的JXL示例,展示如何生成Excel文件: ```java import jxl.*; public class 生成Excel文件 { public static void main(String[] args) throws Exception { // 创建工作簿对象 WritableWorkbook ...
总结来说,Java利用JXL库生成Excel文件是通过创建工作簿、工作表、单元格,并设置它们的属性和内容来实现的。JXL提供了广泛的API来处理各种复杂的Excel操作,是Java环境下生成Excel文件的一个实用工具。
通过分析和运行这些代码,开发者可以更好地理解和学习如何在Java中利用jxl库生成Excel表格。这有助于提高在实际开发中处理Excel文件的能力,特别是对于那些需要从文本数据生成报表或者进行数据交换的项目,jxl是一个...
Struts2是一个流行的Java web框架,它为开发者提供了一种结构化的方式来构建应用程序,而JXL则是一个Java库,用于读取、写入和修改Excel电子表格文件。这篇博客文章结合了这两个技术,展示了如何在Struts2应用中生成...
总之,Java通过jxl库提供了一种简单的方式来生成和读取Excel文件,但请注意,对于较新的Excel格式(.xlsx),jxl可能不支持,此时推荐使用Apache POI。对于Word文档,你需要选择专门的库如Apache POI或JODConverter...
JXL,全称Java Excel API,是一个开源的Java库,专门用于读取、写入和修改Microsoft Excel文件。它支持多种Excel功能,包括单元格格式设置、公式计算、图表创建等。然而,JXL的API设计相对复杂,对于初学者或需要...
在Java编程环境中,生成Excel报表是一项常见的任务,尤其在数据处理和数据分析中。Apache POI 和 JExcelAPI(JXL)是两个广泛使用的库,分别用于处理Microsoft Office的POI格式(包括Excel)和Java环境中的Excel文件...
JXL是一个Java库,专门用于读取、写入和修改Excel文件,它为Java开发者提供了一种方便的方式来处理Excel数据,而无需依赖Microsoft Office套件。本篇文章将深入探讨JXL库在操作Excel和数据库导出Excel文件方面的应用...
使用jxl读取Excel文件,首先需要引入jxl-2.6.12.jar包。以下是一个简单的读取示例: ```java import jxl.*; public class ExcelReader { public static void main(String[] args) { try { Workbook workbook = ...
使用Jxl读取Excel文件的基本步骤如下: 1. 引入Jxl库:在项目中添加jxl.jar依赖。 2. 创建Workbook对象:使用`Workbook.getWorkbook(FileInputStream)`方法打开Excel文件。 3. 获取Sheet对象:通过Workbook对象的`...
在Java中,读取和操作Excel文件是常见的需求,这通常涉及到使用库,如Apache POI和JXL。这两个库都允许开发者在Java中方便地读取、写入和修改Excel文件。 Apache POI是一个强大的库,专门用于处理Microsoft Office...
首先,jxl是一个Java库,它允许我们以编程方式读取和写入Microsoft Excel文件。由于Android系统基于Java,因此可以引入jxl.jar作为依赖来实现Excel操作。然而,需要注意的是,由于Android和Java SE环境的不同,直接...
在JXL中,结合EL表达式,我们可以动态地生成Excel内容,这使得在模板基础上生成复杂的数据报告变得非常便捷。 **步骤1:准备Excel模板** 首先,你需要创建一个Excel模板文件,这个模板包含你想要在生成的Excel中...
这篇博客“利用Jxl生成excel文件”提供了关于如何使用Jxl库创建Excel文档的指导。 首先,Jxl库允许开发者在Java程序中直接操作Excel格式的数据,而无需依赖Microsoft Office套件。它支持多种Excel功能,如单元格...
标题中的“jxl jar 压缩包,做excel读取用”指的是一个Java库,名为JExcelAPI(简称jxl),它允许开发者在Java应用程序中处理Microsoft Excel文件。这个jar文件是JExcelAPI的一个版本,专用于读取Excel数据。 描述...
本文将详细介绍如何使用JXL库来读取Excel数据,并通过一个实际的代码示例进行演示。 首先,你需要在项目中引入JXL库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
本篇文章将深入探讨如何使用JXL库来生成和读取Excel文件。 首先,让我们从生成Excel文件开始。在Java中,JXL库提供了丰富的API,使得创建工作簿、工作表以及单元格变得十分便捷。以下是一段简单的代码示例,演示了...
在IT行业中,生成Excel报表是常见的数据展示和分析任务,而JXL库为Java开发者提供了一个强大且便捷的解决方案。JXL,全称Java Excel API,是一个开源的Java库,专为读取、写入以及修改Excel文件设计。它允许程序员在...
2. **读取Excel文档**:可以打开已存在的Excel文件,读取其中的数据,包括文本、数字、日期、公式等。 3. **修改Excel文档**:在读取Excel文件后,可以修改单元格的内容,更新样式,甚至添加或删除工作表。 4. **...