- 浏览: 782135 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (386)
- Linux (36)
- Tomcat (6)
- windows (8)
- Apache (10)
- Java (25)
- jquery (7)
- Jquery 插件 (3)
- Oracle (5)
- Oracle SQL (68)
- Spring (15)
- 开发工具 (6)
- Struts (20)
- js (14)
- Project Code (2)
- Project Code Tomcat (1)
- libset (1)
- JSP (8)
- arithmetic (2)
- 浏览器 (1)
- extjs (3)
- 学习网站 (5)
- 生活情感 (0)
- 电话号码算法 (3)
- 快捷键 (1)
- 转载 (1)
- Dos命令 (2)
- services (1)
- Resources (1)
- 行业积累 (3)
- 项目积累 (3)
- Web (3)
- 文档 (1)
- JavaEE (2)
- JSF (3)
- http (3)
- JS窗口 (1)
- Html (4)
- Flex (1)
- 资讯 (2)
- 项目规范 (1)
- Struts s:property textarea中默认值用 (1)
- Quartz 2.0.2 (12)
- 1天有多少毫秒 (1)
- 专题 (1)
- intellij idea 10 CD-KEY (1)
- restlet (4)
- Mail (1)
- Excel (3)
- Menu (1)
- Big Data技术综述 (1)
- Quart 1 (1)
- nosql (1)
- linux远程 (1)
- jdk (5)
- wind7 (1)
- 虚拟人 (0)
- 虚拟机 (1)
- 终端 (1)
- Ubuntu (16)
- Myeclipse (2)
- Wmware (1)
- eclipse (2)
- css (2)
- csv (1)
- 开源 (1)
- plsql (2)
- cassandra (4)
- maven (1)
- hadoop (2)
- mysql (1)
- spring security (1)
- tools (1)
- jdbc (2)
- exception (2)
- 硬盘数据备份 (1)
- dwr (1)
- svn (1)
- PowerDesigner15使用时的十五个问题 (1)
- tomcat 项目发部路径 (1)
- js 暂停执行 (1)
- jquery jqgrid 格式化数据显示 (1)
- js 代码模板 (1)
- strutss2 直接跳转到jsp页面 (1)
- servlet (1)
- jdbc spring (1)
- js学习网站 (1)
- 自学考试 (2)
- hibernate (2)
- eos (1)
- c (4)
- 黑马 (2)
- 大数据 (2)
- 实战云大数据案例分享 (0)
- Spark (2)
- Flink (1)
最新评论
-
coosummer:
推荐使用http://buttoncssgenerator.c ...
jquery button 漂亮 -
thinktothings:
Array_06 写道你好,我是一名刚毕业学生,我以后就是做J ...
如何转型架构师 -
thinktothings:
软考,考有职业资格证,有系统的知识体系学习
如何转型架构师 -
Array_06:
你好,我是一名刚毕业学生,我以后就是做Java的架构师,那请问 ...
如何转型架构师 -
beykery:
你这也太复杂了。。。。jsf2不应该是这样的。。。。
JSF2.0的一个简单Demo
package com.tht.common.xls;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.List;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.write.DateTime;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.NumberFormat;
import jxl.write.NumberFormats;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import com.tht.common.date.util.ThtCalendar;
import com.tht.common.db.base.BaseDao;
import com.tht.sendmaill.weak.dao.SBCCDRDAO;
import com.tht.sendmaill.weak.vo.DayOfWeekVO;
import com.tht.sendmaill.weak.vo.SBCCDRVO;
public class WeekXLS extends BaseDao<WeekXLS>{
private static int final_columnNum=0;
private static int total_columnNum=0;
private static int final_titleRow=5;
public Integer addColumn(Integer columnValue,int difference){
columnValue=columnValue+difference;
System.out.println(columnValue);
return columnValue;
}
/**
*
* @param filePath 生成xls的文件路径
* @param sqlQuality 是小时,还是一天的 Hour(小时) Day(天)
* @param sqlPath 执行sql 的路径
* @param strTitle xls文件中的表格标题
* @throws Exception
*/
public boolean writeXLS(String filePath,String sqlQuality,String sqlPath,String strTitle,String strBigTitle,String trunkSmallTitle,String vc2groupinfo,int final_titleRow_) throws Exception{
jxl.format.Colour excelColour=Colour.GREY_25_PERCENT;
WritableWorkbook workbook=null;
WritableSheet sheet=null;
if("1".equals(sqlQuality)){
final_columnNum=0;
final_titleRow=final_titleRow_;
workbook = Workbook.createWorkbook(new File(filePath));
sheet =workbook.createSheet(new ThtCalendar().getSimpleDate(), 0);
}else{
final_columnNum=0;
final_titleRow=final_titleRow_;
Workbook wb=Workbook.getWorkbook(new File(filePath));
workbook = Workbook.createWorkbook(new File(filePath),wb);
sheet=workbook.getSheet(0);
}
//标题 columnNum 行列号 titleRow标题行
//初使值
int columnNum=final_columnNum,titleRow=final_titleRow;//第5行开始
sheet.setColumnView(columnNum, 25);//第一列的宽度
sheet.setColumnView(++columnNum, 25);//第一列的宽度
sheet.setColumnView(++columnNum, 25);//第一列的宽度
sheet.setColumnView(++columnNum, 25);//第一列的宽度
sheet.setColumnView(++columnNum, 25);//第一列的宽度
sheet.setColumnView(++columnNum, 25);//第一列的宽度
sheet.setColumnView(++columnNum, 25);//第一列的宽度
sheet.setColumnView(++columnNum, 25);//第一列的宽度
sheet.setColumnView(++columnNum, 25);//第一列的宽度
sheet.setColumnView(++columnNum, 25);//第一列的宽度
sheet.setColumnView(++columnNum, 25);//第一列的宽度
//格式
//标题格式 start
WritableFont arial18ptBoldItalicUnderline = new WritableFont
(WritableFont.ARIAL,
9,
WritableFont.BOLD,
false,
UnderlineStyle.NO_UNDERLINE);
WritableCellFormat greyBackground = new WritableCellFormat(arial18ptBoldItalicUnderline);
WritableCellFormat noBackground = new WritableCellFormat(arial18ptBoldItalicUnderline);
noBackground.setWrap(false);
// noBackground.setBackground(Colour.GRAY_50);
//noBackground.setBorder(Border.ALL, BorderLineStyle.THIN);
noBackground.setAlignment(Alignment.CENTRE);
WritableCellFormat noRightBackground = new WritableCellFormat(arial18ptBoldItalicUnderline);
noRightBackground.setWrap(false);
// noBackground.setBackground(Colour.GRAY_50);
noRightBackground.setBorder(Border.ALL, BorderLineStyle.THIN);
noRightBackground.setAlignment(Alignment.RIGHT);
greyBackground.setWrap(false);
greyBackground.setBackground(excelColour);
greyBackground.setBorder(Border.ALL, BorderLineStyle.THIN);
greyBackground.setAlignment(Alignment.CENTRE);
//大标题样式
WritableFont bigTitleFont = new WritableFont
(WritableFont.ARIAL,
12,
WritableFont.BOLD,
false,
UnderlineStyle.NO_UNDERLINE);
WritableFont smallBackground = new WritableFont
(WritableFont.ARIAL,
9,
WritableFont.BOLD,
false,
UnderlineStyle.NO_UNDERLINE);
WritableCellFormat bigGreyBackground = new WritableCellFormat(bigTitleFont);
bigGreyBackground.setWrap(false);
bigGreyBackground.setBackground(excelColour);
bigGreyBackground.setBorder(Border.ALL, BorderLineStyle.THIN);
bigGreyBackground.setAlignment(Alignment.CENTRE);
WritableCellFormat smallTitleBackground = new WritableCellFormat(smallBackground);
smallTitleBackground.setWrap(false);
smallTitleBackground.setBackground(excelColour);
smallTitleBackground.setBorder(Border.ALL, BorderLineStyle.THIN);
smallTitleBackground.setAlignment(Alignment.CENTRE);
WritableCellFormat bigNoBackground = new WritableCellFormat(bigTitleFont);
bigNoBackground.setWrap(false);
//bigGreyBackground.setBackground(excelColour);
// bigGreyBackground.setBorder(Border.ALL, BorderLineStyle.THIN);
bigNoBackground.setAlignment(Alignment.CENTRE);
//日期格式
jxl.write.DateFormat dfsss = new jxl.write.DateFormat("yyyy-MM-dd hh:mm");
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm");
WritableCellFormat dataFormat = new WritableCellFormat(dfsss);
dataFormat.setBorder(Border.ALL, BorderLineStyle.THIN);
DateTime dt=null;
//文本样式
WritableFont contentFont = new WritableFont
(WritableFont.ARIAL,
9,
WritableFont.NO_BOLD,
false,
UnderlineStyle.NO_UNDERLINE);
WritableCellFormat contentFormat = new WritableCellFormat (contentFont);
contentFormat.setBorder(Border.ALL, BorderLineStyle.THIN);
//红色字体样式
WritableFont red = new WritableFont(WritableFont.ARIAL,
9,
WritableFont.BOLD,
false,
UnderlineStyle.NO_UNDERLINE,
Colour.RED);
//红色字体样式
WritableFont blue = new WritableFont(WritableFont.ARIAL,
9,
WritableFont.BOLD,
false,
UnderlineStyle.NO_UNDERLINE,
Colour.BLUE);
//WritableCellFormat redContentFormat = new WritableCellFormat(red);
//redContentFormat.setBorder(Border.ALL, BorderLineStyle.THIN);
//数字格式 0.00
NumberFormat doubleFormat=new NumberFormat("0.00");
WritableCellFormat doublewcf=new WritableCellFormat(contentFont,doubleFormat);
doublewcf.setBorder(Border.ALL, BorderLineStyle.THIN);
//红色字体的数字格式 0.00
NumberFormat redDoubleFormat=new NumberFormat("+0.00");
WritableCellFormat redDoublewcf=new WritableCellFormat(red,redDoubleFormat);
redDoublewcf.setBorder(Border.ALL, BorderLineStyle.THIN);
//蓝色字体的数字格式 0.00
NumberFormat blueDoubleFormat=new NumberFormat("0.00");
WritableCellFormat blueDoublewcf=new WritableCellFormat(blue,blueDoubleFormat);
blueDoublewcf.setBorder(Border.ALL, BorderLineStyle.THIN);
//数字格式 0.0000
NumberFormat doubleFormat2=new NumberFormat("0.0000");
WritableCellFormat doublewcf2=new WritableCellFormat(contentFont,doubleFormat2);
doublewcf2.setBorder(Border.ALL, BorderLineStyle.THIN);
//红色字体的数字格式 0.0000
NumberFormat redDoubleFormat2=new NumberFormat("+0.0000");
WritableCellFormat redDoublewcf2=new WritableCellFormat(red,redDoubleFormat2);
redDoublewcf2.setBorder(Border.ALL, BorderLineStyle.THIN);
//蓝色字体的数字格式 0.0000
NumberFormat blueDoubleFormat2=new NumberFormat("0.0000");
WritableCellFormat blueDoublewcf2=new WritableCellFormat(blue,blueDoubleFormat2);
blueDoublewcf2.setBorder(Border.ALL, BorderLineStyle.THIN);
//数字格式 0%
NumberFormat doubleFormat3=new NumberFormat("0%");
WritableCellFormat doublewcf3=new WritableCellFormat(contentFont,doubleFormat3);
doublewcf3.setBorder(Border.ALL, BorderLineStyle.THIN);
//红色字体的数字格式 0.00 %
NumberFormat redDoubleFormat3=new NumberFormat("+0.00%");
WritableCellFormat redDoublewcf3=new WritableCellFormat(red,redDoubleFormat3);
redDoublewcf3.setBorder(Border.ALL, BorderLineStyle.THIN);
//蓝色字体的数字格式 0.00
NumberFormat blueDoubleFormat3=new NumberFormat("0.00%");
WritableCellFormat blueDoublewcf3=new WritableCellFormat(blue,blueDoubleFormat3);
blueDoublewcf3.setBorder(Border.ALL, BorderLineStyle.THIN);
columnNum=final_columnNum;
Label titleLab=new Label(columnNum,titleRow,"FlOW_OUT_SRC_IP",greyBackground);
sheet.addCell(titleLab);
titleLab=new Label(++columnNum,titleRow,"FlOW_OUT_DEST_IP",greyBackground);
sheet.addCell(titleLab);
titleLab=new Label(++columnNum,titleRow,"CALLED_RTP_PACKETS",greyBackground);
sheet.addCell(titleLab);
titleLab=new Label(++columnNum,titleRow,"CALLED_PACKETS",greyBackground);
sheet.addCell(titleLab);
titleLab=new Label(++columnNum,titleRow,"PACK_LOSS",greyBackground);
sheet.addCell(titleLab);
titleLab=new Label(++columnNum,titleRow,"CALLED_RTP_AVG_JITTER",greyBackground);
sheet.addCell(titleLab);
titleLab=new Label(++columnNum,titleRow,"CALLED_R_FACTOR",greyBackground);
sheet.addCell(titleLab);
titleLab=new Label(++columnNum,titleRow,"CALLED_MOS",greyBackground);
sheet.addCell(titleLab);
SBCCDRDAO sbcCDRDAO=new SBCCDRDAO();
List<SBCCDRVO> list=sbcCDRDAO.getList(sqlPath);
columnNum=final_columnNum+1;
//其它
titleLab=new Label(final_columnNum,(final_titleRow-2),strBigTitle,bigGreyBackground);
sheet.addCell(titleLab);
titleLab=new Label(final_columnNum,(final_titleRow-1),trunkSmallTitle,smallTitleBackground);
sheet.addCell(titleLab);
//整数
WritableCellFormat integerFormat = new WritableCellFormat (NumberFormats.INTEGER);
integerFormat.setBorder(Border.ALL, BorderLineStyle.THIN);
Number number =null;
//字符串
Label label=null;
int conColumn=final_columnNum;
int conRow=final_titleRow+2;
// WeekDao weekDao=new WeekDao();
for(int i=0;i<list.size();i++){
SBCCDRVO vo=list.get(i);
if(vo.getF32_flow_out_src_ip()==null){
titleLab=new Label((conColumn++),conRow,"N/A",contentFormat);
}else{
titleLab=new Label((conColumn++),conRow,vo.getF32_flow_out_src_ip(),contentFormat);
}
sheet.addCell(titleLab);
if(vo.getF34_flow_out_dest_ip()==null){
titleLab=new Label((conColumn++),conRow,"N/A",contentFormat);
}else{
titleLab=new Label((conColumn++),conRow,vo.getF34_flow_out_dest_ip(),contentFormat);
}
sheet.addCell(titleLab);
if(vo.getCalled_rtp_packets()==null){
titleLab=new Label((conColumn++),conRow,"N/A",noRightBackground);
sheet.addCell(titleLab);
}else{
number=new Number((conColumn++),conRow,vo.getCalled_rtp_packets(),integerFormat);
sheet.addCell(number);
}
if(vo.getCalled_packets()==null){
titleLab=new Label((conColumn++),conRow,"N/A",noRightBackground);
sheet.addCell(titleLab);
}else{
number=new Number((conColumn++),conRow,vo.getCalled_packets(),integerFormat);
sheet.addCell(number);
}
//%
if(vo.getPack_loss()==null){
titleLab=new Label((conColumn++),conRow,"N/A",noRightBackground);
sheet.addCell(titleLab);
}else{
number=new Number((conColumn++),conRow,vo.getPack_loss()/100.00,doublewcf3);
sheet.addCell(number);
}
if(vo.getCalled_rtp_avg_jitter()==null){
titleLab=new Label((conColumn++),conRow,"N/A",noRightBackground);
sheet.addCell(titleLab);
}else{
number=new Number((conColumn++),conRow,vo.getCalled_rtp_avg_jitter(),integerFormat);
sheet.addCell(number);
}
if(vo.getCalled_r_factor()==null){
titleLab=new Label((conColumn++),conRow,"N/A",noRightBackground);
sheet.addCell(titleLab);
}else{
number=new Number((conColumn++),conRow,vo.getCalled_r_factor(),integerFormat);
sheet.addCell(number);
}
if(vo.getCalled_mos()==null){
titleLab=new Label((conColumn++),conRow,"N/A",noRightBackground);
sheet.addCell(titleLab);
}else{
number=new Number((conColumn++),conRow,vo.getCalled_mos(),integerFormat);
sheet.addCell(number);
}
total_columnNum= conColumn-1;
conColumn=final_columnNum;
conRow++;
}
sheet.mergeCells(final_columnNum,(final_titleRow-1),total_columnNum,(final_titleRow-1));//合并单元格 先往合并的第一个单元格写数据,再合并
sheet.mergeCells(final_columnNum,(final_titleRow-2),total_columnNum,(final_titleRow-2));//合并单元格 先往合并的第一个单元格写数据,再合并
workbook.write();
if(workbook!=null){
workbook.close();
}
return true;
}
}
发表评论
-
Maven安装与配置
2013-01-31 18:55 1044Maven安装与配置 下载 Maven 安装 j ... -
spring MD5
2012-06-20 09:28 10174import org.springframework.secu ... -
zip 压缩文件 文件夹,压缩代码
2012-03-02 09:45 1212zip 压缩文件 文件夹,压缩代码 -
log4j绝对路path
2012-01-05 15:40 1305log4j绝对路path cbill@ubuntu:/ ... -
apache2启来
2011-05-03 15:02 786/usr/local/apache2/bin apache ... -
ZIP把某一文件进行打包
2011-03-09 15:41 10031:对某文件进行打包 2:对茉文件夹进行打包 -
log4j的应用配置
2010-10-16 17:55 1115优先级 TRACE ,DEBUG ,INFO ,WAR ... -
介绍Log4j?
2010-10-16 17:28 1378log4j的是什么? 是log4j的一 ... -
Ant的安装
2010-10-14 21:50 967下载 apache-ant-1.8.1-bin[1].z ...
相关推荐
3. **数据类型支持**:jxl库能够处理各种Excel数据类型,包括字符串、数字、日期、布尔值等。例如,使用`Label`类创建包含文本的单元格,`Integer`类处理数字,`Date`类处理日期。 4. **样式和格式**:jxl库允许...
5. **数据转换**:将Excel中的数据类型(如String、Number等)转换为适合数据库存储的格式。 然后,导入数据到数据库通常包括以下环节: 1. **数据库连接**:使用JDBC(Java Database Connectivity)建立与数据库的...
1. **读取Excel文件**:JXL允许开发者读取Excel文件中的数据,包括单元格的内容、格式、样式等信息。它可以解析不同类型的单元格数据,如字符串、数字、日期等。 2. **写入Excel文件**:JXL可以创建新的Excel文件,...
可以设置单元格的值,调整其数据类型(文本、数字、日期等),以及应用格式(如字体、颜色、对齐方式)。 2. **工作表与工作簿管理**:开发者可以通过JXL API创建新的工作簿,添加、删除和重命名工作表。同时,可以...
注意处理不同的数据类型,如数字、日期、字符串等。 4. **TXT到Excel转换**:相反的过程,从TXT文件读取数据,创建新的Excel工作表,然后逐行逐列地写入数据。 5. **处理格式和样式**:JXL支持设置单元格的字体、...
JXL不仅支持数据读写,还允许对单元格进行样式和格式的设置。可以设定字体、颜色、对齐方式、边框、填充等属性。例如,`setBold()`方法可以使文本加粗,`setAlignment()`可以调整单元格内容的水平或垂直对齐。 5. ...
3. **数据类型支持**:jxl支持多种数据类型,包括字符串、数字、日期、布尔值等。例如,使用Cell.setLabel(String)设置文本,Cell.setNumber(double)设置数值,Cell.setDate(Date)设置日期。 4. **格式化**:jxl还...
JXL库支持多种数据类型,如字符串、整数、浮点数、日期等。在读取或写入数据时,需要进行适当的类型转换。 9. **保存和关闭工作簿** 完成所有操作后,使用`Workbook.write()`方法将工作簿写入文件,然后调用`...
这个库特别适合那些需要处理大量数据并希望将数据格式化为表格的项目。下面我们将深入探讨JXL库在Java Excel解析中的应用。 ### 1. JXL库介绍 JXL(Java Excel API)是一个开源的Java库,专门用于处理Microsoft ...
JXL不仅支持基本数据类型,还支持插入图片、图表、超链接等复杂内容。 3. **处理图片**:在Excel文件中插入或读取图片是JXL的一个特色。它允许你将二进制图像数据添加到工作表中,并且可以调整图片的大小和位置。这...
以上代码只是一个基础示例,实际应用中需要考虑更多细节,如异常处理、数据类型转换、批量操作性能优化等。同时,为了提高效率和减少内存消耗,建议使用流式处理Excel数据,而不是一次性加载整个文件到内存。此外,...
- **数据格式化**:可以处理各种数据类型,包括日期、数字、字符串等,并能根据需要进行格式转换。 2. **使用方法**: - **引入依赖**:将jxl-2.6.12.jar加入到项目的类路径中,如果是Maven项目,需要在pom.xml...
2. **写入Excel文件**:同样,它也支持创建新的Excel文件或向已有文件中追加内容,包括文本、数字、日期、布尔值等各种类型的数据。 3. **处理样式和格式**:JXL允许设置单元格的字体、颜色、边框、对齐方式、背景色...
Jxl 是一款用于处理 Excel 文件的 Java 库,支持多种版本的 Excel 文件格式,包括 Excel 95 至 2000 版本。该库允许开发者以纯 Java 的方式创建、读取和修改 Excel 文件,无需依赖于 Windows 操作系统或 Office 应用...
jxl库支持多种类型的单元格数据,包括文本、数字、日期等,并提供了丰富的样式设置功能。在实际应用中,我们可以通过jxl创建新的Excel文件或对现有文件进行修改。 #### 三、环境搭建 确保安装了JDK并配置好环境变量...
此外,jxl还可以用于数据验证,如检查单元格的数据类型、格式等。通过设置样式,可以实现单元格颜色、字体、边框的自定义,让Excel文件更加美观专业。 总结,jxl库是Java开发中处理Excel文件的得力助手,其源代码、...
在"JXL读写Excel例子demo"中,我们将探讨如何利用JXL库来处理Excel数据。这个示例程序包含了一个名为"Jxl读写Excel例子demo.jxl.jar"的库文件,它是JXL库的实现,可以集成到Java项目中以处理Excel文件。 JXL库提供...
通过设定Cell类型(如文本、数字、日期等),开发者可以精确控制单元格的内容和格式。 - **修改Excel文件**:除了读写,jxl.jar还可以对Excel文件进行修改,如添加、删除、移动工作表,设置单元格样式,处理公式等...