package com.email.jav;

import java.io.File;
import java.io.IOException;
import java.net.URL;

import jxl.Workbook;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableHyperlink;
import jxl.write.WritableImage;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

public class TestExl {

public static void main(String args[]) throws IOException,
    RowsExceededException, WriteException {

   WritableWorkbook book = Workbook.createWorkbook(new File("f://aa.xls")); // 第一步

   /**
   * 定义与设置Sheet
   */
   WritableSheet sheet = book.createSheet("sheet", 0); // 创建Sheet
   sheet.setColumnView(0, 30); // 设置列的宽度
   sheet.setColumnView(1, 30); // 设置列的宽度
   sheet.setColumnView(2, 30); // 设置列的宽度
   sheet.setRowView(6, 1000); // 设置行的高度
   sheet.setRowView(4, 1000); // 设置行的高度
   sheet.setRowView(5, 1000); // 设置行的高度

   /**
   * 定义单元格样式
   */
   WritableFont wf = new WritableFont(WritableFont.ARIAL, 15,
     WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
     jxl.format.Colour.CORAL); // 定义格式 字体 下划线 斜体 粗体 颜色
   WritableCellFormat wcf = new WritableCellFormat(wf); // 单元格定义
   wcf.setBackground(jxl.format.Colour.BLACK); // 设置单元格的背景颜色
   wcf.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式

   /**
   * 使用样式的单元格
   */
   sheet.addCell(new Label(0, 0, "邮箱asasasasa", wcf)); // 普通的带有定义格式的单元格
   sheet.addCell(new Label(1, 0, "动作asasasasa", wcf));
   sheet.addCell(new Label(2, 0, "时间asasasasa", wcf));

   sheet.addCell(new Label(0, 1, "qhcgx@sina.com"));
   sheet.addCell(new Label(1, 1, "action"));
   sheet.addCell(new Label(2, 1, "time"));

   /**
   * excel合并单元格
   */
   sheet.addCell(new Label(4, 0, "合并单元格", wcf)); // 合并单元格

   sheet.addCell(new Label(4, 1, "测试1"));
   sheet.addCell(new Label(5, 1, "测试2"));
   sheet.addCell(new Label(6, 1, "测试3"));

   sheet.mergeCells(4, 0, 6, 0); // 合并单元格

   /**
   * excel图片
   */
   sheet.addCell(new Label(0, 3, "展示图片 jxl只支持png格式的", wcf)); // 展示图片标题
   sheet.mergeCells(0, 3, 3, 3); // 合并图片标题单元格

   File file = new File("f://1.png"); // 获得图片
   WritableImage image = new WritableImage(0, 4, 3, 3, file); // 设置图片显示位置
                  // //0代表第几列,4代表第几行,3代表图片的高和宽占3个单元格

   sheet.addImage(image); // 加载图片

   /**
   * excel链接
   */
   sheet.addCell(new Label(0, 8, "excel链接测试", wcf)); // 链接标题
   sheet.mergeCells(0, 8, 2, 8);
   WritableHyperlink link = new WritableHyperlink(0, 9, new URL(
     "http://www.google.com"));
   link.setDescription("链接使用 链接到Google");
   sheet.mergeCells(0, 9, 1, 9);
   sheet.addHyperlink(link);

   book.write();
   book.close();
}

}

转载地址:http://blog.csdn.net/is_lie/article/details/6276361

【转载】jxl操作excel 字体 背景色 合并单元格 列宽等 .的更多相关文章

  1. C# 如何使用NPOI操作Excel以及读取合并单元格等

    C#操作Excel方法有很多,以前用的需要电脑安装office才能用,但因为版权问题公司不允许安装office.所以改用NPOI进行Excel操作,基本上一些简单的Excel操作都没有问题,读写合并单 ...

  2. C# 获取Excel中的合并单元格

    C# 获取Excel中的合并单元格 我们在制作表格时,有时经常需要合并及取消合并一些单元格.在取消合并单元格时需要逐个查找及取消,比较麻烦.这里分享一个简单的方法来识别Excel中的合并单元格,识别这 ...

  3. GridView——标题行自适应单元格列宽与选中单元格变色

    首先看效果图: 主要实现—— 1.前台GridView代码: <asp:GridView Height="100%" Width="98%" ID=&qu ...

  4. JAVA操作Excel时文字自适应单元格的宽度设置方法

    使用JAVA操作Excel通常都使用JXL,方法很简单网上也有很多的教程,然后往往一些细节性的问题却导致我们这些Programmer苦恼不已.这两天帮一个朋友做一个Excel表格自动生成的小软件,就遇 ...

  5. EXCEL自动撤销合并单元格并填充相应内容(转帖)

    若EXCEL工作表有很多合并的单元格,要将所有合并的单元格撤销,并填充撤销合并前显示的内容,这是一项很繁琐且容易出错的工作.但可通过宏程序可轻松准确地搞定,方法如下: 一.实现该功能的Excel宏程序 ...

  6. java操作Excel的poi 设置单元格的对其方式

    设置单元格的对其方式 package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.po ...

  7. Java导出Excel表,POI 实现合并单元格以及列自适应宽度(转载)

    POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress ...

  8. POI 实现合并单元格以及列自适应宽度

    POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress ...

  9. [办公应用]如何将excel合并单元格分拆后每个单元格上仍保留数据?

    合并单元格虽然美观,但是无法进行排序.筛选等操作. 只有合并单元格拆分后才可以按常规进行统计.但是普通拆分后,excel仅保留合并单元格数据到区域左上角的单元格. 解决方案:选定多个合并单元格,应用本 ...

随机推荐

  1. 使用JDBC从数据库中查询数据

    * ResultSet 结果集:封装了使用JDBC 进行查询的结果 * 1. 调用Statement 对象的 executeQuery(sql) 方法可以得到结果集 * 2. ResultSet 返回 ...

  2. ADO.NET笔记——将DataReader作为函数返回值

    相关知识: 在很多情况下,可能把数据库的访问封装到一个函数中,通过该函数返回一个DataReader对象给调用者.例如定义函数:SqlDataReader returnDR(),然后再Main函数中调 ...

  3. ECSHOP的订单状态在数据库中的表现(order_status, shipping_status, pay_status)

    echop的订单状态都是在ecs_order_info表中的字段里. 订单状态 未确认 取消 确认 已付款 配货中 已发货 已收货 退货 order_status 0 2 1 1 1 5 5 4 sh ...

  4. Delphi 和 C++Builder 2014年及以后技术路线图

    RAD Studio, Delphi 和 C++Builder 2014年及以后技术路线图 By: Embarcadero News 内容源自Embarcadero新闻组,本人水平有限,欢迎各位高人修 ...

  5. Linux下如何卸载HP_LoadGenerator

    很简单的一句命令就可以完全卸载! rpm -e LoadGenerator

  6. openerp学习笔记 错误、警告、提示、确认信息显示

    1.检查业务逻辑中的错误,终止代码执行,显示错误或警告信息: raise osv.except_osv(_('Error!'), _('Error Message.')) 示例代码: #删除当前销售单 ...

  7. Java中构造函数执行顺序的问题

    1,  先执行内部静态对象的构造函数,如果有多个按定义的先后顺序执行:而且静态类的构造函数只会被执行一次,只在其第一个对象创建时调用,即便是创建了同一个类的多个对象,例如main()函数里b1,b2创 ...

  8. VB数据库经典实例总结(一)

    先让大家看一张图.随后讲解..... 敲完五个例子之后的心情是非常好的.并没有想象中的那么难,深究它的话大致思路就是.: 建立数据库 --->利用VB导出数据 --->供人们使用.. 因为 ...

  9. EntityFramework Add方法与Attach区别

    一 先发问. 问题:在使用EF过程中,能否有一个方法可以直接执行传入的SQL语句.纠结的只找到了调用存储过程的方法,难道要SqlHelper.cs?    二 友情提示 本文内容参考自MSDN. 三 ...

  10. Django 学习笔记之三 数据库输入数据

    假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...