`
747017186
  • 浏览: 331642 次
社区版块
存档分类
最新评论

jxl生成带保护的excel和读取带保护的excel

    博客分类:
  • java
 
阅读更多

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"));

}

分享到:
评论

相关推荐

    jxl模版生成excel

    6. **读取Excel**:除了生成Excel文件,jxl还可以读取已有的Excel文件,将其内容转化为Java数据结构,便于处理和分析。 7. **示例代码**:通常,使用jxl的流程包括加载模板文件,找到要填充的单元格,使用`Cell....

    操作Excel文件(读取和生成)jxl和poi

    以下是一个简单的JXL示例,展示如何生成Excel文件: ```java import jxl.*; public class 生成Excel文件 { public static void main(String[] args) throws Exception { // 创建工作簿对象 WritableWorkbook ...

    java利用jxl生成excel文件

    总结来说,Java利用JXL库生成Excel文件是通过创建工作簿、工作表、单元格,并设置它们的属性和内容来实现的。JXL提供了广泛的API来处理各种复杂的Excel操作,是Java环境下生成Excel文件的一个实用工具。

    jxl方式生成excel表格.zip

    通过分析和运行这些代码,开发者可以更好地理解和学习如何在Java中利用jxl库生成Excel表格。这有助于提高在实际开发中处理Excel文件的能力,特别是对于那些需要从文本数据生成报表或者进行数据交换的项目,jxl是一个...

    [转]java struts2+jxl生成并导出Excel

    Struts2是一个流行的Java web框架,它为开发者提供了一种结构化的方式来构建应用程序,而JXL则是一个Java库,用于读取、写入和修改Excel电子表格文件。这篇博客文章结合了这两个技术,展示了如何在Struts2应用中生成...

    Java生成excel 和读取word文档的内容 jxl 代码

    总之,Java通过jxl库提供了一种简单的方式来生成和读取Excel文件,但请注意,对于较新的Excel格式(.xlsx),jxl可能不支持,此时推荐使用Apache POI。对于Word文档,你需要选择专门的库如Apache POI或JODConverter...

    JXLExcel生成简单excel表

    JXL,全称Java Excel API,是一个开源的Java库,专门用于读取、写入和修改Microsoft Excel文件。它支持多种Excel功能,包括单元格格式设置、公式计算、图表创建等。然而,JXL的API设计相对复杂,对于初学者或需要...

    poi jxl 生成EXCEL 报表

    在Java编程环境中,生成Excel报表是一项常见的任务,尤其在数据处理和数据分析中。Apache POI 和 JExcelAPI(JXL)是两个广泛使用的库,分别用于处理Microsoft Office的POI格式(包括Excel)和Java环境中的Excel文件...

    JXL操作EXCEL 数据库导出EXCEL相关文件

    JXL是一个Java库,专门用于读取、写入和修改Excel文件,它为Java开发者提供了一种方便的方式来处理Excel数据,而无需依赖Microsoft Office套件。本篇文章将深入探讨JXL库在操作Excel和数据库导出Excel文件方面的应用...

    jxl实现excel的读取和写入 jar包

    使用jxl读取Excel文件,首先需要引入jxl-2.6.12.jar包。以下是一个简单的读取示例: ```java import jxl.*; public class ExcelReader { public static void main(String[] args) { try { Workbook workbook = ...

    Jxl和poi读取写入excel

    使用Jxl读取Excel文件的基本步骤如下: 1. 引入Jxl库:在项目中添加jxl.jar依赖。 2. 创建Workbook对象:使用`Workbook.getWorkbook(FileInputStream)`方法打开Excel文件。 3. 获取Sheet对象:通过Workbook对象的`...

    java读取excel文件POI+jxl

    在Java中,读取和操作Excel文件是常见的需求,这通常涉及到使用库,如Apache POI和JXL。这两个库都允许开发者在Java中方便地读取、写入和修改Excel文件。 Apache POI是一个强大的库,专门用于处理Microsoft Office...

    使用jxl.jar在Android中操作Excel表格

    首先,jxl是一个Java库,它允许我们以编程方式读取和写入Microsoft Excel文件。由于Android系统基于Java,因此可以引入jxl.jar作为依赖来实现Excel操作。然而,需要注意的是,由于Android和Java SE环境的不同,直接...

    JXL使用模板通过el表达式生成excel文件

    在JXL中,结合EL表达式,我们可以动态地生成Excel内容,这使得在模板基础上生成复杂的数据报告变得非常便捷。 **步骤1:准备Excel模板** 首先,你需要创建一个Excel模板文件,这个模板包含你想要在生成的Excel中...

    利用Jxl生成excel文件

    这篇博客“利用Jxl生成excel文件”提供了关于如何使用Jxl库创建Excel文档的指导。 首先,Jxl库允许开发者在Java程序中直接操作Excel格式的数据,而无需依赖Microsoft Office套件。它支持多种Excel功能,如单元格...

    jxl jar 压缩包,做excel读取用

    标题中的“jxl jar 压缩包,做excel读取用”指的是一个Java库,名为JExcelAPI(简称jxl),它允许开发者在Java应用程序中处理Microsoft Excel文件。这个jar文件是JExcelAPI的一个版本,专用于读取Excel数据。 描述...

    jxl读取excel数据(带实例)

    本文将详细介绍如何使用JXL库来读取Excel数据,并通过一个实际的代码示例进行演示。 首先,你需要在项目中引入JXL库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    jxl的excel的文件生成,与读取,excel2003

    本篇文章将深入探讨如何使用JXL库来生成和读取Excel文件。 首先,让我们从生成Excel文件开始。在Java中,JXL库提供了丰富的API,使得创建工作簿、工作表以及单元格变得十分便捷。以下是一段简单的代码示例,演示了...

    jxl.zip_excel_jxl_jxl.biff.drawing.dg_jxl.biff.drawingdg

    总的来说,JXL库是Java开发者处理Excel文件的理想选择,无论你是需要读取Excel数据进行分析,还是构建数据导入导出系统,甚至是生成复杂的报表,JXL都能提供强大而全面的支持。通过熟练掌握JXL,你将能够更高效地与...

    JXL生成excel报表

    在IT行业中,生成Excel报表是常见的数据展示和分析任务,而JXL库为Java开发者提供了一个强大且便捷的解决方案。JXL,全称Java Excel API,是一个开源的Java库,专为读取、写入以及修改Excel文件设计。它允许程序员在...

Global site tag (gtag.js) - Google Analytics