`

jxl对Excel的操作,包含合并单元格

    博客分类:
  • java
阅读更多


01.import java.io.*;  
02.import jxl.*;  
03.import jxl.format.UnderlineStyle; 
04.import jxl.write.*;  
05.public class CreateXLS {  
06.    public static void main(String args[]) {  
07.        try {  
08.            //打开文件 
09.            WritableWorkbook book= Workbook.createWorkbook(new File("测试.xls"));  
10.            //生成名为“第一页”的工作表,参数0表示这是第一页  
11.            WritableSheet sheetOne=book.createSheet("第一页",0);  
12.             
13.            /**
14.             * 定义单元格样式
15.             */ 
16.            WritableFont wf_title = new WritableFont(WritableFont.ARIAL, 11, 
17.                    WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, 
18.                    jxl.format.Colour.BLACK); // 定义格式 字体 下划线 斜体 粗体 颜色 
19.            WritableFont wf_head = new WritableFont(WritableFont.ARIAL, 11, 
20.                    WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, 
21.                    jxl.format.Colour.BLACK); // 定义格式 字体 下划线 斜体 粗体 颜色 
22.            WritableFont wf_table = new WritableFont(WritableFont.ARIAL, 11, 
23.                    WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, 
24.                    jxl.format.Colour.BLACK); // 定义格式 字体 下划线 斜体 粗体 颜色 
25. 
26.            WritableCellFormat wcf_title = new WritableCellFormat(wf_title); // 单元格定义 
27.            wcf_title.setBackground(jxl.format.Colour.WHITE); // 设置单元格的背景颜色 
28.            wcf_title.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式 
29.            wcf_title.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN,jxl.format.Colour.BLACK); //设置边框 
30.             
31.            WritableCellFormat wcf_title1 = new WritableCellFormat(wf_title); // 单元格定义 
32.            wcf_title1.setBackground(jxl.format.Colour.LIGHT_GREEN); // 设置单元格的背景颜色 
33.            wcf_title1.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式 
34.            wcf_title1.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN,jxl.format.Colour.BLACK); //设置边框 
35.             
36.            WritableCellFormat wcf_title2 = new WritableCellFormat(wf_title); // 单元格定义 
37.            wcf_title2.setBackground(jxl.format.Colour.YELLOW2); // 设置单元格的背景颜色 
38.            wcf_title2.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式 
39.            wcf_title2.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN,jxl.format.Colour.BLACK); //设置边框 
40. 
41.            WritableCellFormat wcf_head1 = new WritableCellFormat(wf_head);  
42.            wcf_head1.setBackground(jxl.format.Colour.LIGHT_GREEN); 
43.            wcf_head1.setAlignment(jxl.format.Alignment.CENTRE);  
44.            wcf_head1.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN,jxl.format.Colour.BLACK);  
45.             
46.            WritableCellFormat wcf_head2 = new WritableCellFormat(wf_head);  
47.            wcf_head2.setBackground(jxl.format.Colour.YELLOW2); 
48.            wcf_head2.setAlignment(jxl.format.Alignment.CENTRE);  
49.            wcf_head2.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN,jxl.format.Colour.BLACK);  
50. 
51. 
52.            WritableCellFormat wcf_table1 = new WritableCellFormat(wf_table);  
53.            wcf_table1.setBackground(jxl.format.Colour.LIGHT_GREEN);  
54.            wcf_table1.setAlignment(jxl.format.Alignment.CENTRE);  
55.            wcf_table1.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN,jxl.format.Colour.BLACK);  
56.             
57.            WritableCellFormat wcf_table2 = new WritableCellFormat(wf_table);  
58.            wcf_table2.setBackground(jxl.format.Colour.YELLOW2);  
59.            wcf_table2.setAlignment(jxl.format.Alignment.CENTRE);  
60.            wcf_table2.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN,jxl.format.Colour.BLACK);  
61.             
62.            sheetOne.setColumnView(0, 15); // 设置列的宽度 
63.            sheetOne.setColumnView(1, 15); // 设置列的宽度 
64.            sheetOne.setColumnView(2, 15); // 设置列的宽度 
65.            sheetOne.setColumnView(3, 15); // 设置列的宽度 
66.            sheetOne.setColumnView(4, 15); // 设置列的宽度 
67.            sheetOne.setColumnView(5, 15); // 设置列的宽度 
68.            sheetOne.setColumnView(6, 15); // 设置列的宽度 
69.            sheetOne.setColumnView(7, 15); // 设置列的宽度 
70.            sheetOne.setColumnView(8, 15); // 设置列的宽度 
71.            sheetOne.setColumnView(9, 15); // 设置列的宽度 
72.            sheetOne.setColumnView(10, 15); // 设置列的宽度 
73.            sheetOne.setColumnView(11, 15); // 设置列的宽度 
74.            sheetOne.setColumnView(12, 15); // 设置列的宽度 
75.            sheetOne.setColumnView(13, 15); // 设置列的宽度 
76. 
77.            //在Label对象的构造子中指名单元格位置是第一列第一行(0,0)  
78.            //以及单元格内容为test  
79.            Label title=new Label(0,0,"统计",wcf_title); 
80.            Label titleOne=new Label(0,1,"统计1",wcf_title1); 
81.            Label titleTwo=new Label(2,1,"统计2",wcf_title2); 
82. 
83.            Label column1=new Label(0,2,"姓名",wcf_head1); 
84.            Label column2=new Label(1,2,"所选课程",wcf_head1); 
85.             
86.            Label column3=new Label(2,2,"姓名",wcf_head2); 
87.            Label column4=new Label(3,2,"所选课程",wcf_head2); 
88. 
89. 
90. 
91.            //或者WritableCell cell =  new jxl.write.Number(column, row, value, wcf) 
92.            //将定义好的单元格添加到工作表中  
93.            sheetOne.addCell(title);  
94.            sheetOne.addCell(titleOne);  
95.            sheetOne.addCell(titleTwo);  
96. 
97.            sheetOne.addCell(column1);  
98.            sheetOne.addCell(column2);  
99.            sheetOne.addCell(column3);  
100.            sheetOne.addCell(column4);  
101. 
102. 
103.            //合: 第1列第1行  到 第13列第1行 
104.            sheetOne.mergeCells(0, 0, 3, 0);  
105.            sheetOne.mergeCells(0, 1, 1, 1);  
106.            sheetOne.mergeCells(2, 1, 3, 1);  
107.             
108.             
109.             
110.             
111.             
112.             
113.            /*动态数据   */ 
114.            Label content1=new Label(0,3,"张三",wcf_table1); 
115.            Label content2=new Label(0,4,"张三",wcf_table1); 
116.            Label content3=new Label(0,5,"张三",wcf_table1); 
117.            Label kecheg1=new Label(1,3,"语文",wcf_table1); 
118.            Label kecheg2=new Label(1,4,"数学",wcf_table1); 
119.            Label kecheg3=new Label(1,5,"英语",wcf_table1); 
120.             
121.            sheetOne.addCell(content1); 
122.            sheetOne.addCell(content2); 
123.            sheetOne.addCell(content3); 
124.            sheetOne.addCell(kecheg1); 
125.            sheetOne.addCell(kecheg2); 
126.            sheetOne.addCell(kecheg3); 
127.             
128.            sheetOne.mergeCells(0, 3, 0, 2+3);  
129.             
130.             
131.            Label content11=new Label(2,3,"李四",wcf_table2); 
132.            Label content22=new Label(2,4,"李四",wcf_table2); 
133.            Label content33=new Label(2,5,"李四",wcf_table2); 
134.            Label kecheg11=new Label(3,3,"语文",wcf_table2); 
135.            Label kecheg22=new Label(3,4,"数学",wcf_table2); 
136.            Label kecheg33=new Label(3,5,"英语",wcf_table2); 
137.             
138.            sheetOne.addCell(content11); 
139.            sheetOne.addCell(content22); 
140.            sheetOne.addCell(content33); 
141.            sheetOne.addCell(kecheg11); 
142.            sheetOne.addCell(kecheg22); 
143.            sheetOne.addCell(kecheg33); 
144.             
145.            sheetOne.mergeCells(2, 3, 2, 2+3);  
146. 
147. 
148.            //写入数据并关闭文件  
149.            book.write();  
150.            book.close();  
151.        }catch(Exception e){  
152.            System.out.println(e);  
153.        }  
154.    }  
155.}  

  • 大小: 19.4 KB
分享到:
评论

相关推荐

    java jxl Excel 读写 合并单元格 下载 等实例

    java jxl Excel 读写 合并单元格 下载 等实例

    利用jxl读取excel合并的单元格的一个小例子

    通过一个小例子了解jxl的读取,使用于java初学者。里面用到的包可以在CSDN下载得到。

    Java使用JXL操作Excel

    Java使用JXL库进行Excel操作是Java开发中常见的任务,特别是在数据处理、报表生成和数据分析等领域。JXL是一个流行的开源库,它提供了丰富的API来读取、写入和修改Microsoft Excel文件。以下是对这个主题的详细说明...

    使用jxl操作Excel

    在实际开发中,`jxl`库提供了丰富的API来处理复杂的Excel任务,如合并单元格、设置边框和颜色、处理公式等。但需要注意的是,`jxl`库不支持最新版本的Excel文件格式(xlsx),只适用于老版的xls格式。对于xlsx的支持...

    用jxl实现java对Excel表格的增删改查

    标题中的“用jxl实现java对Excel表格的增删改查”指的是使用JXL库来完成对Excel文件的基本操作:增加数据(Add)、删除数据(Delete)、修改数据(Modify)以及查询数据(Query)。以下是对这些操作的详细说明: 1....

    ExcelDemo_Excel导出_下载_POI读excel_JXL读写excel_java读写excel_列宽_读取合并或拆分单元格内容

    本文将深入探讨Java编程语言中如何使用Apache POI库和JExcelAPI(JXL)来读取、写入及操作Excel文件,同时也包括设置列宽以及处理合并或拆分的单元格内容。 首先,Apache POI是Apache软件基金会的一个开源项目,专...

    jxl的excel读写操作

    以下是对JXL库在进行Excel读写操作时的一些关键知识点的详细解释: 1. **安装与引入** 首先,你需要将JXL库添加到你的项目类路径中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    JXL读写Excel小例子

    JXL库提供了丰富的API来处理更复杂的Excel操作,如格式化单元格、合并单元格、插入图表等。通过深入学习JXL库的文档,你可以根据需要实现更多功能,如读写公式、处理日期和时间、设置单元格样式等。 总的来说,JXL...

    jxl操作不规范的excel文档

    JXL库提供了基本的API来读取和写入Excel文件,包括对单元格的访问、样式设置、公式处理等功能。对于合并单元格,JXL通过`Cell`类中的`getColSpan()`和`getRowSpan()`方法来获取单元格的合并范围。这些方法返回的值...

    java利用jxl生成excel文件

    JXL库还支持合并单元格、插入图片、处理表格样式等功能,提供了丰富的API供开发者使用。 在实际开发中,可以根据业务需求灵活调整上述代码,例如从数据库获取数据,动态生成Excel内容。`writeExcelByJXL`这个文件...

    jxl技术-excel操作公共类

    封装的公共类可能也包含了这些功能,如`setCellStyle()`用于设置单元格样式,`mergeCells()`用于合并单元格。 7. **性能考虑**: 尽管JXL库非常实用,但处理大量数据时可能性能较低。对于大型Excel文件,可以考虑...

    jxl导出excel

    除了基本的读写功能,jxl还支持合并单元格、插入图片、处理图表等高级特性。对于大型数据集,可以使用流式写入模式以减少内存消耗。 在实际项目中,你可能需要根据业务需求调整上述代码,例如从数据库获取数据,或...

    使用jxl导出Excel表的好例子

    除了基本的数据写入,`jxl`库还支持更复杂的功能,如合并单元格、插入图表、读取Excel文件等。在处理大量数据时,还可以使用`WritableFont`和`WritableCellFormat`优化性能,避免内存消耗过大。 在实际应用中,通常...

    java jxl创建Excel

    在本例中,我们将探讨如何使用JXL库来创建一个Excel文件,并对其进行各种定制,如合并单元格、设置列和单元格的属性,包括字体、宽度、高度、边框样式、背景颜色、自动换行以及对齐方式。 首先,我们需要引入JXL库...

    jxl读写该合并

    通过这些示例,我们可以看到JXL库提供了对Excel文件的强大支持,包括读取和写入合并单元格的功能。在实际开发中,你可以根据需求调整代码,以适应各种复杂的Excel处理任务。不过需要注意的是,JXL库只支持Excel 97-...

    jxl 操作EXCEL格式

    JXL支持多种Excel功能,包括单元格样式、公式计算、图表以及工作表的创建和操作。 **使用JXL的基本步骤** 1. **添加依赖**:首先,在项目中引入JXL库。如果你使用的是Maven,可以在pom.xml文件中添加如下依赖: `...

    jxl操作excel表格

    本文将深入探讨如何利用`jxl`库进行Excel表格的操作,包括读取表格、拷贝工作簿、更新工作簿以及将多个Sheet合并到一个Excel文件中。 首先,让我们了解`jxl`库的基本概念。`jxl`库提供了一系列的类和接口,如`...

    Android poi 操作doc excel pdf && Android jxl 操作excel

    在Android开发中,有时我们需要对Microsoft Office文档如Excel、Word以及PDF进行操作,这通常是由于数据导入导出、报表生成或者数据分析的需求。本项目利用Apache POI库处理doc、excel和pdf,以及使用jxl库专门处理...

    java中jxl操作excel.docx

    JXL相比Apache POI库来说,虽然在功能上稍显不足,但其对中文字符的支持非常出色,且完全用Java编写,可以在任何Java支持的操作系统上运行,包括Linux。 首先,要使用JXL,你需要下载对应的jar包(如jxl.jar),将...

Global site tag (gtag.js) - Google Analytics