`
小杨学JAVA
  • 浏览: 901607 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jxl 创建表格(包括去掉网格线、字体设置、单元格设置、对齐方式等设置)

 
阅读更多

 

  1. import java.io.File;  
  2. import java.io.IOException;  
  3.   
  4. import jxl.format.Alignment;  
  5. import jxl.format.Border;  
  6. import jxl.format.BorderLineStyle;  
  7. import jxl.format.Colour;  
  8. import jxl.format.UnderlineStyle;  
  9. import jxl.write.Label;  
  10. import jxl.write.NumberFormats;  
  11. import jxl.write.WritableCellFormat;  
  12. import jxl.write.WritableFont;  
  13. import jxl.write.WritableSheet;  
  14. import jxl.write.WritableWorkbook;  
  15. import jxl.write.WriteException;  
  16. import jxl.write.biff.RowsExceededException;  
  17.   
  18. public class JxlTable {  
  19.   
  20.     private final static JxlTable jxlTable = new JxlTable();  
  21.   
  22.     public static JxlTable getInstance() {  
  23.         return jxlTable;  
  24.     }  
  25.       
  26.     public JxlTable(){}  
  27.       
  28.     /** 
  29.      * 根据输入的内容创建一个表格 
  30.      * 要求: 
  31.      * 表头表格线为粗线,表体表格线为细线; 
  32.      * 表头背景色为黄色且表头字体加粗居中显示,表体为无色; 
  33.      * 表头以及表体内容可以按照一定的格式输入; 
  34.      *  
  35.      * 保留一个sheet且sheet的背景为无网格线; 
  36.      *  
  37.      * @return 创建成功:true;创建失败:false; 
  38.      */  
  39.     public boolean createTable(String header,String[] body,String filePath){  
  40.         boolean createFlag = true;  
  41.           
  42.         WritableWorkbook book;  
  43.         try {  
  44.             //根据路径生成excel文件  
  45.             book = Workbook.createWorkbook(new File(filePath));  
  46.             //创建一个sheet名为"表格"  
  47.             WritableSheet sheet = book.createSheet("表格"0);  
  48.               
  49.             //设置NO列宽度  
  50.             sheet.setColumnView(15);  
  51.             //去掉整个sheet中的网格线  
  52.             sheet.getSettings().setShowGridLines(false);  
  53.               
  54.             Label tempLabel = null;  
  55.             //表头输出  
  56.             String[] headerArr = header.split(",");  
  57.             int headerLen = headerArr.length;  
  58.             //循环写入表头内容  
  59.             for(int i=0; i < headerLen; i ++){  
  60.                 tempLabel = new Label(1+i,1,headerArr[i],getHeaderCellStyle());  
  61.                 sheet.addCell(tempLabel);  
  62.             }  
  63.             //表体输出  
  64.             int bodyLen = body.length;  
  65.             //循环写入表体内容  
  66.             for(int j=0; j < bodyLen; j ++){  
  67.                 String[] bodyTempArr = body[j].split(",");  
  68.                 for(int k=0; k < bodyTempArr.length; k ++){  
  69.                     WritableCellFormat tempCellFormat = null;  
  70.                     /* 
  71.                      * 表体内容的对齐设置 
  72.                      * 这里将序号NO以及年龄居中对齐,姓名以及性别默认对齐方式 
  73.                      */  
  74.                     tempCellFormat = getBodyCellStyle();  
  75.                     if(tempCellFormat != null){  
  76.                         if(k == 0 || k == (bodyTempArr.length -1)){  
  77.                             tempCellFormat.setAlignment(Alignment.CENTRE);  
  78.                         }  
  79.                     }  
  80.                     tempLabel = new Label(1+k,2+j,bodyTempArr[k],tempCellFormat);  
  81.                     sheet.addCell(tempLabel);  
  82.                 }  
  83.                   
  84.             }  
  85.             book.write();  
  86.             book.close();  
  87.         } catch (IOException e) {  
  88.             createFlag = false;  
  89.             System.out.println("EXCEL创建失败!");  
  90.             e.printStackTrace();  
  91.               
  92.         }catch (RowsExceededException e) {  
  93.             createFlag = false;  
  94.             System.out.println("EXCEL单元设置创建失败!");  
  95.             e.printStackTrace();  
  96.         } catch (WriteException e) {  
  97.             createFlag = false;  
  98.             System.out.println("EXCEL写入失败!");  
  99.             e.printStackTrace();  
  100.         }  
  101.   
  102.         return createFlag;  
  103.           
  104.     }  
  105.     /** 
  106.      * 表头单元格样式的设定 
  107.      */  
  108.     public WritableCellFormat getHeaderCellStyle(){  
  109.           
  110.         /* 
  111.          * WritableFont.createFont("宋体"):设置字体为宋体 
  112.          * 10:设置字体大小 
  113.          * WritableFont.BOLD:设置字体加粗(BOLD:加粗     NO_BOLD:不加粗) 
  114.          * false:设置非斜体 
  115.          * UnderlineStyle.NO_UNDERLINE:没有下划线 
  116.          */  
  117.         WritableFont font = new WritableFont(WritableFont.createFont("宋体"),  
  118.                                              10,   
  119.                                              WritableFont.BOLD,   
  120.                                              false,  
  121.                                              UnderlineStyle.NO_UNDERLINE);  
  122.           
  123.         WritableCellFormat headerFormat = new WritableCellFormat(NumberFormats.TEXT);  
  124.         try {  
  125.             //添加字体设置  
  126.             headerFormat.setFont(font);  
  127.             //设置单元格背景色:表头为黄色  
  128.             headerFormat.setBackground(Colour.YELLOW);  
  129.             //设置表头表格边框样式  
  130.             //整个表格线为粗线、黑色  
  131.             headerFormat.setBorder(Border.ALL, BorderLineStyle.THICK, Colour.BLACK);  
  132.             //表头内容水平居中显示  
  133.             headerFormat.setAlignment(Alignment.CENTRE);      
  134.         } catch (WriteException e) {  
  135.             System.out.println("表头单元格样式设置失败!");  
  136.         }  
  137.         return headerFormat;  
  138.     }  
  139.     /** 
  140.      * 表头单元格样式的设定 
  141.      */  
  142.     public WritableCellFormat getBodyCellStyle(){  
  143.           
  144.         /* 
  145.          * WritableFont.createFont("宋体"):设置字体为宋体 
  146.          * 10:设置字体大小 
  147.          * WritableFont.NO_BOLD:设置字体非加粗(BOLD:加粗     NO_BOLD:不加粗) 
  148.          * false:设置非斜体 
  149.          * UnderlineStyle.NO_UNDERLINE:没有下划线 
  150.          */  
  151.         WritableFont font = new WritableFont(WritableFont.createFont("宋体"),  
  152.                                              10,   
  153.                                              WritableFont.NO_BOLD,   
  154.                                              false,  
  155.                                              UnderlineStyle.NO_UNDERLINE);  
  156.           
  157.         WritableCellFormat bodyFormat = new WritableCellFormat(font);  
  158.         try {  
  159.             //设置单元格背景色:表体为白色  
  160.             bodyFormat.setBackground(Colour.WHITE);  
  161.             //设置表头表格边框样式  
  162.             //整个表格线为细线、黑色  
  163.             bodyFormat.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);  
  164.               
  165.         } catch (WriteException e) {  
  166.             System.out.println("表体单元格样式设置失败!");  
  167.         }  
  168.         return bodyFormat;  
  169.     }  
  170.       
  171.     public static void main(String[] args) {  
  172.         String header = "NO,姓名,性别,年龄";  
  173.         String[] body = new String[4];  
  174.         body[0] = "1,欧阳锋,男,68";  
  175.         body[1] = "2,黄药师,男,67";  
  176.         body[2] = "3,洪七公,男,70";  
  177.         body[3] = "4,郭靖,男,32";  
  178.         String filePath = "e:/test.xls";  
  179.           
  180.         JxlTable testJxl = JxlTable.getInstance();  
  181.           
  182.         boolean flag = testJxl.createTable(header, body, filePath);  
  183.         if(flag){  
  184.             System.out.println("表格创建成功!!");  
  185.         }  
  186.     }  
  187. }  

 

分享到:
评论

相关推荐

    JXL操作excel设置字体颜色设置单元格详解

    JXL操作Excel设置字体颜色设置单元格详解 JXL是一个韩国人写的Java操作Excel的工具,在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文...

    java操作excel,jxl边框的设置,jxl单元格的设置

    在JXL中,设置单元格的值是通过`WritableCell`实现的,可以是`Label`(文本)、`Number`(数字)等类型。例如,创建一个带有文本的单元格: ```java Label label = new Label(0, 0, "Hello, JXL!"); sheet.addCell...

    JXL写入Excel (包括样式、列宽、列高特殊格式、剧中、字体等操作)

    本篇文章将深入探讨如何使用JXL进行Excel文件的写入操作,特别是关于样式、列宽、列高、对齐方式和字体设置。 首先,我们需要导入JXL库。在Java项目中,可以通过Maven或Gradle添加依赖。如果是Maven项目,可以在pom...

    jxl创建下拉列表

    4. **创建单元格特征**:使用`WritableCellFeatures`设置单元格的特性,包括数据验证规则。 5. **设置数据验证规则**:通过`setDataValidationList`方法设置下拉列表的数据源。 6. **添加单元格到工作表**:使用`...

    java jxl创建Excel

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

    jxl读取合并单元格

    jxl读取合并单元格

    Java对Excel数据导入导出工具类(含Exel单元格样式设置)

    - jxl库允许开发者设置单元格的样式,包括字体、颜色、对齐方式、边框、背景填充等。例如,可以设置单元格为粗体、斜体,改变字体大小和颜色,设置文本水平居中或垂直居下,甚至添加边框样式。 6. **开发包使用**...

    java用jxl包导出excel表格

    除了基本的数据类型,JXL还支持对单元格的格式进行设置,例如字体、颜色、对齐方式等: ```java // 设置单元格格式 Font boldFont = new Font(); boldFont.setBold(true); WritableFont font = new WritableFont...

    使用JXL实现Excel单元格自动缩小字体填充

    这个例子介绍了如何使用jxl实现Excel的单元格自动缩小字体填充,而不是列的长度随单元格内容自动扩展,但是有一个缺点,jxl不支持图文格式的Excel展示。附件中有jxl的jar包,以及我调用的例子。欢迎大家下载。

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

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

    jxl.jar 包含jxl源码 API

    4. 如果需要,可以设置 Cell 的格式,如字体、颜色、对齐方式等。 5. 最后,保存修改到 Excel 文件。 **5. 兼容性** jxl 支持多种 Excel 版本的文件,包括 .xls(Excel 97-2003)和 .xlsx(Excel 2007 及以上)。...

    jxl方式生成excel表格.zip

    5. **设置格式**:如果需要,可以使用CellStyle类来设置单元格的样式,如字体、颜色、对齐方式等。 6. **保存工作簿**:最后,通过Workbook的write()方法将工作簿写入到Excel文件中,然后调用close()方法关闭工作簿...

    导入导出Java代码详解.doc

    使用 WritableCellFormat 对象设置单元格的格式,包括字体、颜色、对齐方式等。在本示例中,我们定义了两个单元格格式对象:cellTitle 和 cellResult,分别用于标题单元格和普通单元格。 四、设置单元格字体 使用 ...

    操作excel表格的jxl包

    除了基本的数据操作,`jxl`还允许你控制单元格的样式,包括字体、颜色、边框、对齐方式等。例如,你可以创建一个`WritableFont`对象来定义字体,然后应用到特定的单元格或整个列。 5. **处理图片**: 虽然`jxl`...

    使用jxl读取Excel表格数据

    总的来说,jxl库为Java开发者提供了一种便捷的方式去处理Excel文件,无论是简单的数据读取还是复杂的表格操作,都能轻松应对。通过熟练掌握jxl,你可以高效地在Java程序中与Excel数据交互,提升工作效率。

    java插件jxl页面设置

    根据提供的文件信息,我们可以深入探讨Java插件JXL中的页面设置功能及其实现方式。JXL(Jakarta Excel)是一个用于读写Microsoft Excel文件的强大Java库。本文将围绕标题“java插件jxl页面设置”及其描述“jxl中一些...

    jxlAPI(jxl完整的API)

    4. **数据格式(CellFormat)**: jxl允许自定义单元格的样式,包括字体、颜色、对齐方式、边框等。`CellFormat`类提供了这些属性的设置方法,如`setAlignment()`, `setFont()`, `setNumberFormat()`等。 5. **读取...

    jxl.jar 下载excel电子表格(1)

    5. **格式化数据**:jxl提供了多种方式来格式化单元格,如字体、颜色、对齐方式等。 6. **保存工作簿**:完成操作后,使用`Workbook.write()`方法将工作簿写入到Excel文件中。 博客中可能还会涉及错误处理、性能...

    jxl源码及jar包

    它允许开发者设置单元格的对齐方式、边框样式、背景色等,使得生成的Excel表格既具有功能性,又具有良好的视觉效果。此外,jxl还支持单元格的公式计算,使得数据的处理更加灵活。 再者,jxl库并未忽视图像和图表的...

Global site tag (gtag.js) - Google Analytics