java中jxl导出数据到excel

本文详细介绍了如何使用Java将数据写入Excel文件,并提供了多种格式化的实例,包括字体样式、数字、布尔值、日期时间、日期格式、字体颜色、合并单元格和边框设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要往xls文件里面写入数据的时候需要注意的是第一要新建一个xls文件
OutputStream os=new FileOutputStream("c:\\excel2.xls");

再建完这个文件的时候再建立工作文件
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(os));

如果这个文件已经存在,那么我们可以在这个文件里面加入一个sheet为了和以前的数据进行分开;
jxl.write.WritableSheet ws = wwb.createSheet("TestSheet 1" , 0);
在createSheet方法里前面的参数是sheet名,后面是要操作的sheet号

接下来就可以往这个文件里面写入数据了


写入数据的时候注意的格式


(1)添加的字体样式
jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 18,WritableFont.BOLD, true);
WritableFont()方法里参数说明:
这个方法算是一个容器,可以放进去好多属性
第一个: TIMES是字体大小,他写的是18
第二个: BOLD是判断是否为斜体,选择true时为斜体
第三个: ARIAL
第四个: UnderlineStyle.NO_UNDERLINE 下划线
第五个: jxl.format.Colour.RED 字体颜色是红色的

jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf);

jxl.write.Label labelC = new jxl.write.Label(0, 0,"This is a Label cell" ,wcfF);
ws.addCell(labelC);
在Label()方法里面有三个参数
第一个是代表列数,
第二是代表行数,
第三个代表要写入的内容
第四个是可选项,是输入这个label里面的样式
然后通过写sheet的方法addCell()把内容写进sheet里面。

(2)添加带有formatting的Number对象
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");


(3)添加Number对象
(3.1)显示number对象数据的格式

jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");
jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);

jxl.write.Number labelNF = new jxl.write.Number(1, 1, 3.1415926, wcfN);
ws.addCell(labelNF);
Number()方法参数说明:
前两上表示输入的位置
第三个表示输入的内容


(4)添加Boolean对象
jxl.write.Boolean labelB = new jxl.write.Boolean(0, 2, false);
ws.addCell(labelB);


(5)添加DateTime对象
jxl.write.DateTime labelDT = new jxl.write.DateTime(0, 3, newjava.util.Date());
ws.addCell(labelDT);
DateTime()方法的参数说明
前两个表示输入的位置
第三个表示输入的当前时间


(6)添加带有formatting的DateFormat对象
这个显示当前时间的所有信息,包括年月日小时分秒
jxl.write.DateFormat df = new jxl.write.DateFormat("ddMM yyyy hh:mm:ss" );
jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df);
jxl.write.DateTime labelDTF = new jxl.write.DateTime(1, 3, new java.util.Date(),wcfDF);
ws.addCell(labelDTF);

(7)添加带有字体颜色Formatting的对象
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL, 10,WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);

import="jxl.format.*
jxl.write.WritableFont wfc = newjxl.write.WritableFont(WritableFont.ARIAL,20,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.GREEN);

(8)设置单元格样式

jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
wcfFC.setBackGround(jxl.format.Colour.RED);//设置单元格的颜色为红色
wcfFC = new jxl.write.Label(6,0,"i lovechina" ,wcfFC);

设置列宽: cw_sheet.setColumnView(0,100);//第一个参数为第几列,第二个参数为列宽

设置行高: cw_sheet.setRowView(0, 1000);//第一个参数为第几行,第二个参数为行高

以下是部分例子:

1.     import jxl.*;

2.     importjxl.write.*;

3.     importjava.io.*;

4.     importjava.io.File.*;

5.     importjava.util.*;

6.      

7.      

8.      

9.     public classexcel

10.  {

11.  public static void main(String[] args)

12.  {

13.   

14.  String targetfile = "c:/out.xls" ;//输出的excel文件名

15.  String worksheet = "List"; //输出的excel文件工作表名

16.  String[] title = {"ID","NAME", "DESCRIB" }; //excel工作表的标题

17.   

18.   

19.  WritableWorkbook workbook;

20.  try

21.  {

22.  //创建可写入的Excel工作薄,运行生成的文件在tomcat/bin

23.  //workbook = Workbook.createWorkbook(newFile("output.xls"));

24.  System.out.println("begin");

25.   

26.  OutputStream os=new FileOutputStream(targetfile);

27.  workbook=Workbook.createWorkbook(os);

28.   

29.  WritableSheet sheet = workbook.createSheet(worksheet,0 );//添加第一个工作表

30.  //WritableSheet sheet1 =workbook.createSheet("MySheet1", 1); //可添加第二个工作

31.  /*

32.  jxl.write.Label label = newjxl.write.Label(0, 2, "A label record"); //put a label in cell A3,Label(column,row)

33.  sheet.addCell(label);

34.  */

35.   

36.  jxl.write.Label label;

37.  for ( int i= 0 ; i<title.length; i++)

38.  {

39.  //Label(列号,行号 ,内容 )

40.  label = new jxl.write.Label(i, 0 , title[i]);//put the title in row1

41.  sheet.addCell(label);

42.  }

43.   

44.   

45.   

46.   

47.  //下列添加的对字体等的设置均调试通过,可作参考用

48.   

49.   

50.  //添加数字

51.  jxl.write.Number number = new jxl.write.Number( 3 , 4, 3.14159 );//put the number 3.14159 in cell D5

52.  sheet.addCell(number);

53.   

54.  //添加带有字型Formatting的对象

55.  jxl.write.WritableFont wf = newjxl.write.WritableFont(WritableFont.TIMES, 10 ,WritableFont.BOLD, true );

56.  jxl.write.WritableCellFormat wcfF = newjxl.write.WritableCellFormat(wf);

57.  jxl.write.Label labelCF = new jxl.write.Label( 4 , 4 ,"文本",wcfF);

58.  sheet.addCell(labelCF);

59.   

60.  //添加带有字体颜色,带背景颜色 Formatting的对象

61.  jxl.write.WritableFont wfc = newjxl.write.WritableFont(WritableFont.ARIAL, 10 ,WritableFont.BOLD, false,jxl.format.UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);

62.  jxl.write.WritableCellFormat wcfFC = newjxl.write.WritableCellFormat(wfc);

63.  wcfFC.setBackground(jxl.format.Colour.BLUE);

64.  jxl.write.Label labelCFC = new jxl.write.Label( 1 , 5,"带颜色",wcfFC);

65.  sheet.addCell(labelCFC);

66.   

67.  //添加带有formattingNumber对象

68.  jxl.write.NumberFormat nf = newjxl.write.NumberFormat("#.##");

69.  jxl.write.WritableCellFormat wcfN = newjxl.write.WritableCellFormat(nf);

70.  jxl.write.Number labelNF = new jxl.write.Number( 1 , 1, 3.1415926 ,wcfN);

71.  sheet.addCell(labelNF);

72.   

73.  //3.添加Boolean对象

74.  jxl.write.Boolean labelB = new jxl.write.Boolean( 0 ,2 , false );

75.  sheet.addCell(labelB);

76.   

77.  //4.添加DateTime对象

78.  jxl.write.DateTime labelDT = new jxl.write.DateTime( 0, 3 , new java.util.Date());

79.  sheet.addCell(labelDT);

80.   

81.  //添加带有formattingDateFormat对象

82.  jxl.write.DateFormat df = new jxl.write.DateFormat("ddMMyyyyhh:mm:ss");

83.  jxl.write.WritableCellFormat wcfDF = newjxl.write.WritableCellFormat(df);

84.  jxl.write.DateTime labelDTF = new jxl.write.DateTime(1 , 3 , new java.util.Date(),wcfDF);

85.  sheet.addCell(labelDTF);

86.   

87.  //和宾单元格

88.  //sheet.mergeCells(int col1,int row1,int col2,introw2);//左上角到右下角

89.  sheet.mergeCells(4 , 5 , 8 , 10 );//左上角到右下角

90.  wfc = new jxl.write.WritableFont(WritableFont.ARIAL,40 ,WritableFont.BOLD, false ,jxl.format.UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.GREEN);

91.  jxl.write.WritableCellFormat wchB = newjxl.write.WritableCellFormat(wfc);

92.  wchB.setAlignment(jxl.format.Alignment.CENTRE);

93.  labelCFC = new jxl.write.Label( 4 , 5 ,"单元合并",wchB);

94.  sheet.addCell(labelCFC); //

95.   

96.   

97.  //设置边框

98.  jxl.write.WritableCellFormat wcsB = newjxl.write.WritableCellFormat();

99.  wcsB.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THICK);

100.  labelCFC = new jxl.write.Label( 0 , 6 ,"边框设置",wcsB);

101.  sheet.addCell(labelCFC);

102.  workbook.write();

103.  workbook.close();

104.  }catch (Exception e)

105.  {

106.  e.printStackTrace();

107.  }

108.  System.out.println("end");

109.  Runtime r=Runtime.getRuntime();

110.  Process p=null ;

111.  //Stringcmd[]={"notepad","exec.java"};

112.  String cmd[]={"C:\\ProgramFiles\\Microsoft Office\\Office\\EXCEL.EXE","out.xls" };

113.  try {

114.  p=r.exec(cmd);

115.  }

116.  catch (Exception e){

117.  System.out.println("errorexecuting: "+cmd[ 0 ]);

118.  }

119.   

120.   

121.  }

122.  }

 

 

【基于QT的调色板】是一个使用Qt框架开发的色彩选择工具,类似于Windows操作系统中常见的颜色选取器。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动和嵌入式设备,支持C++和QML语言。这个调色板功能提供了横竖两种渐变模式,用户可以方便地选取所需的颜色值。 在Qt中,调色板(QPalette)是一个关键的类,用于管理应用程序的视觉样式。QPalette包含了一系列的颜色角色,如背景色、前景色、文本色、高亮色等,这些颜色可以根据用户的系统设置或应用程序的需求进行定制。通过自定义QPalette,开发者可以创建具有独特视觉风格的应用程序。 该调色板功能可能使用了QColorDialog,这是一个标准的Qt对话框,允许用户选择颜色。QColorDialog提供了一种简单的方式来获取用户的颜色选择,通常包括一个调色板界面,用户可以通过滑动或点击来选择RGB、HSV或其他色彩模型中的颜色。 横渐变取色可能通过QGradient实现,QGradient允许开发者创建线性或径向的色彩渐变。线性渐变(QLinearGradient)沿直线从一个点到另一个点过渡颜色,而径向渐变(QRadialGradient)则以圆心为中心向外扩散颜色。在调色板中,用户可能可以通过滑动条或鼠标拖动来改变渐变的位置,从而选取不同位置的颜色。 竖渐变取色则可能是通过调整QGradient的方向来实现的,将原本水平的渐变方向改为垂直。这种设计可以提供另一种方式来探索颜色空间,使得选取颜色更为直观和便捷。 在【colorpanelhsb】这个文件名中,我们可以推测这是与HSB(色相、饱和度、亮度)色彩模型相关的代码或资源。HSB模型是另一种常见且直观的颜色表示方式,与RGB或CMYK模型不同,它以人的感知为基础,更容易理解。在这个调色板中,用户可能可以通过调整H、S、B三个参数来选取所需的颜色。 基于QT的调色板是一个利用Qt框架和其提供的色彩管理工具,如QPalette、QColorDialog、QGradient等,构建的交互式颜色选择组件。它不仅提供了横竖渐变的色彩选取方式,还可能支持HSB色彩模型,使得用户在开发图形用户界面时能更加灵活和精准地控制色彩。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spjhandsomeman

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值