关于Java(jxl)操作Excel一些设置的问题。。。。

//创建一个工作薄的对象
WritableWorkbook wwb = Workbook.createWorkbook(new File("e:/excel.xls"));
//读取工作薄的对象
Workbook wk=Workbook.getWorkbook(new File("e:/excel.xls"));
//创建Sheet
对象WritableSheet ws = wwb.createSheet("单据", 0);

一、 数据类型操作:在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用。1、 字串格式化
 字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和
WritableCellFormat类来负责。String name="这是String类型"; //字符串
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
df.format(new Date());
BigDecimal freight=new BigDecimal("200.2356545");//数字类型WritableFont font1 = new WritableFont(WritableFont.createFont("宋体"),10, WritableFont.BOLD,false);//① 设置字体
WritableCellFormat format1 = new WritableCellFormat(font1);//②
Label label = new  Label( 0 , 0 ,name,format1); //③WritableFont font2 = new WritableFont(WritableFont.createFont("宋体"),10, WritableFont.BOLD,false);//① 设置字体
WritableCellFormat format2 = new WritableCellFormat(font2); //②
Label labe2 = new  Label( 0 , 0 ,df.format(new Date()).toString(),format2); //③
  
WritableFont font3 = new WritableFont(WritableFont.createFont("宋体"),10, WritableFont.BOLD,false);//① 设置字体
WritableCellFormat format3 = new WritableCellFormat(font3);//②
Number number = new  Number( 0 , 0 ,freight.doubleValue(),format2);//③
  
在WritableCellFormat类中,还有一个很重要的方法是指定数据的对齐方式。例如:
把水平对齐方式指定为居中   
format1.setAlignment(jxl.format.Alignment.CENTRE); 
把垂直对齐方式指定为居中   
 format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
把水平对齐方式指定为居中
format1.setAlignment(jxl.format.Alignment.CENTRE);
把垂直对齐方式指定为居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); ①代表了字串格式:字体为宋体,字号10,加粗显示。WritableFont有非常丰富的构造子,供不同情况下使用,jExcelAPI中的java-doc中有详细介绍,这里就不一一列出了。
  
 ②处使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种属性,后面会有有更多描述。 ③处使用了LabelNumber类的构造子、指定了字串被赋予那种格式。 二、单元格操作Excel中很重要的一部分是对单元格的操作,例如对单元格合并、行高、列宽、只读属性设置等。jExcelAPI提供了相关支持。下面简单的介绍些,更多的请查询API。 WritableSheet.mergeCells( int  a, int  b, int  c, int  d);
  单元格合并函数 a 单元格的列号,b 单元格的行号,c 从单元格[a,b]起,向下合并的列数,d 从单元格[a,b]起,向下合并的行数
 合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。 行高设置WritableSheet.getSettings().setDefaultColumnWidth(22);//设置列的默认宽度
WritableSheet.setRowView(2,false);//行高自动扩展
WritableSheet.setColumnView(0, 22);//设置第一列宽度
WritableSheet.setRowView(1, 10); //行高
WritableSheet.setColumnView(10,1); //列宽 只读属性设置WritableSheet.getSettings().setProtected(true);//置xls的保护,单元格为只读的 jExcelAPI还有其他的一些功能,比如插入图片等,这里就不再介绍,更多的请查询API。

如果需要知道你读取的Excel,它有多少行和多少列,如下操作:Workbook book = Workbook.getWorkbook(new File(" test.xls "));
 // 获得第一个工作表对象
 Sheet sheet = book.getSheet(0);
        // 得到第一列第一行的单元格
        int columnum = sheet.getColumns();// 得到列数
        int rownum = sheet.getRows();// 得到行数
        System.out.println(columnum);
        System.out.println(rownum);
        for (int i  = 0; i  <  rownum; i++)// 循环进行读写
        {
            for (int j  = 0; j  <  columnum; j++) {
                Cell cell = sheet.getCell(j, i);
                String result = cell.getContents();
                System.out.print(result);
                System.out.print("\t");
            }
            System.out.println();
        }
        book.close();

}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值